ArrayList,Vector,LinkedList,泛型(Generic)

ArrayList

  1. 利用Arraylist实现存储对象的便历并将重复对象删掉

public static void main(String[] args) {
ArrayList list = new ArrayList();
list.add(100);
list.add(100);
list.add(100);
list.add(100);
list.add(100);
list.add(100);
list.add(200);
deleEle(list);
System.out.println(list);
}

private static void deleEle(ArrayList list) {
for (int i = 0; i < list.size(); i++) {
Object obj = list.get(i);
if(list.indexOf(obj)!=list.lastIndexOf(obj)){
list.remove(obj);
deleEle(list);
}
}
}

Vector

  1. Vector类概述: Vector 类可以实现可增长的对象数组 , Vector 是同步的。

  2. Vector类特有功能
    public void addElement(E obj)
    public E elementAt(int index)
    public Enumeration elements()

LinkedList

  1. LinkedList类概述: List 接口的链接列表实现 , 此实现不是同步的

  2. LinkedList类特有功能
    public void addFirst(E e)及addLast(E e)
    public E getFirst()及getLast()
    public E removeFirst()及public E removeLast()

泛型

  1. 泛型通配符<?>: 任意类型,如果没有明确,那么就是Object以及任意的Java类了

  2. ? extends E: 向下限定,E及其子类

  3. ? super E: 向上限定,E及其父类

ArrayList objects = new ArrayList();
//?泛型统配符
ArrayList<?> objects2 = new ArrayList();
//向上限定
ArrayList<? super Animal> objects3 = new ArrayList();
//ArrayList<? super Animal> objects4 = new ArrayList();
ArrayList<? super Animal> objects4 = new ArrayList();
//向下限定
ArrayList<? extends Animal> objects5 = new ArrayList();
ArrayList<? extends Animal> objects6= new ArrayList();
ArrayList<? extends Animal> objects7 = new ArrayList();

ArrayList list = new ArrayList<>();
list.add(20);
ArrayList list2 = new ArrayList<>();
list2.add(200);
list.addAll(list2);

  1. 泛型如果明确了数据类型以后,那么要求左右两边的数据类型必须一致

  2. 可变参数概述: 定义方法的时候不知道该定义多少个参数

格式: 修饰符 返回值类型 方法名(数据类型… 变量名){}

注意事项:
a: 这里的变量其实是一个数组
b: 如果一个方法有可变参数,并且有多个参数,那么,可变参数肯定是最后一个

发布了43 篇原创文章 · 获赞 7 · 访问量 1775

猜你喜欢

转载自blog.csdn.net/y18791050779/article/details/102939694