package com.ffyc.collection;
import java.util.*;
public class CollectionDOme {
List<Integer> list1=new ArrayList<>();
//类型不同
Collection<Integer> list2=new ArrayList<>();
AbstractCollection<Integer> list3=new ArrayList<>();
Stack<Integer> stack1=new Stack<>();
Vector<Integer> stack2 = new Stack<>();
}
2.数组有关的问题
2.1
有一个数组int[]a={1,2,3,4,5},如何删除3
package com.ffyc.collection;
import java.util.*;
public class CollectionDome {
public static void main(String[] args) {
int[] a={1,2,3,4,5};
int sourcePos =2;
int deletePos =1;
int copyLen =a.length-1-deletePos;
System.arraycopy(a,sourcePos,a,deletePos,copyLen);
a[a.length-1]=0;
System.out.println(Arrays.toString(a));
}
}
2.2数组的帮助类Arrays
2.2.1数组排序
Arrays.sort
fromIndex - 截取元素的起始位置,包含该索引位置元素
toIndex - 截取元素的结束位置,不包含该索引位置元素
import java.util.Arrays;
public class Main {
public static void main(String[] args) {
int[] arr = {5, 4, 3, 2, 1};
Arrays.sort(arr, 1, 4);
System.out.println("排序后:" + Arrays.toString(arr));
}
}
3.stack Queue队列
先进先出 FIFO
package com.ffyc.collection;
import java.util.LinkedList;
public class MyQueue<T> {
private LinkedList<T> list = new LinkedList<>();
public T pop(){
return list.poll();
}
public void push(T data){
list.offer(data);
}
public static void main(String[] args) {
MyQueue q = new MyQueue();
q.push("apple");
q.push("banana");
q.push("orange");
q.push("grape");
q.push("kiwi-fruit");
System.out.println(q.pop());
}
}
package com.ffyc.collection;
import java.util.LinkedList;
public class MyQueue<T> {
private LinkedList<T> list = new LinkedList<>();
public T pop(){
return list.poll();
}
public void push(T data){
list.offer(data);
}
public boolean isEmpty()
{
return list.isEmpty();
}
public int size(){
return list.size();
}
public static void main(String[] args) {
MyQueue q = new MyQueue();
q.push("apple");
q.push("banana");
q.push("orange");
q.push("grape");
q.push("kiwi-fruit");
System.out.println(q.pop());
}
}