ArrayList的使用说明

来源:互联网 发布:大张一刀流 知乎 编辑:程序博客网 时间:2024/06/10 01:17

哈哈


import java.util.*;public class TestArrayList{public static void main(String []args){       //jdk5.0之前       //List list = new ArrayList();       //jdk5.0开始       //List<Integer>list = new ArrayList<Integer>();       //jdk7.0开始       List<Integer>list = new ArrayList<>();       list.add(4);//使用add()函数加入元素,加入的元素的类型只能是引用数据类型       list.add(3);       list.add(14);       list.add(6);       list.add(6);       list.add(29);       //System.out.println(list.get(0));//根据下标获取元素       //System.out.println(list.size());//获取已添加元素的个数       //遍历:       //1.for循环+下标       //for(int i = 0;i < list.size();i++)          //System.out.println(list.get(i));        //2.foreach forin        //for(Integer k:list)        //System.out.println(k);        //3.迭代器iterator        /*for(Iterator<Integer>it = list.iterator();it.hasNext();){Integer k = it.next();it.remove();//删除元素System.out.println(k);}*///4.lambda表达式//1.list.forEach(System.out::println);        //2.list.forEach((x)->System.out.println(x));System.out.println(list.contains(new Integer(29)));//for(int k:list)   //System.out.println(k);list.remove(1);//按下标删除元素list.remove(new Integer(6));//按对象根据equals方法的返回值删除满足要求的第一个元素//for(int k:list)  //System.out.println(k);  list.forEach((x)->System.out.println(x));  list.clear();  for(int k:list)  System.out.println(k);}}

说明:

ArrayList
JDK5.0前: List list  = new ArrayList();
JDK5.0开始:List<T> list = new ArrayList<T>();
JDK7.0开始:List<T> list = new Arraylist<>();


构造方法可以指定内部数组的默认大小:
List<T> list = new ArrayList<>(55);//不写默认是10


扩容:JDK7.0之前: x*3/2+1
      JDK7.0开始: x+(x>>1)




添加元素:
list.add() Collectons.addAll()
按下标得到某个元素
get(int x)
按下标删除某个元素
remove(int x)
得到已经添加过的元素个数
size()
检测是否存在某个元素
contains(Object obj)
按对象根据equals的返回值删除"相同"的那个元素(第一个)
remove(Object obj)
清空集合
clear()


遍历:
1:for()+下标:
for(int i = 0;i<list.size();i++){
list.get(i)
 }


2:foreach forin(底层基于迭代器实现)
for(T t:list){

t
}


3:迭代器 Iterator
for(Iterator<T>car = list.iterator();car.hasNext();){
car.next();//返回下一个元素的值并且光标后移
car.remove();//光标指向谁 就删除谁
}
4:lambda表达式:
list.forEach(System.out::println);
list.forEach((x)->System.out.println(x));'
list.stream().filter((x)->x==5).forEach(System.out::println)