ArrayList的使用说明

哈哈




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)


猜你喜欢

转载自blog.csdn.net/lidafoye/article/details/77937479