ArrayList:可以保存重复元素,底层是数组实现,元素类型任意, 但后续处理上,会出现转型问题(把类型当作参数),底层是一个数组 ,默认长度10,满时自动扩容,扩到原来的1.5倍
eg:
ArrayList<String>arr=new ArrayList(); arr.add("a");arr.add("b");arr.add("c"); arr.add("d");arr.add("e");arr.add("f"); arr.add("g");arr.add("a");arr.add("a"); arr.add("a");arr.add("a"); arr.add(1,"XXX");//将“ ”插入位置_; arr.remove("a");//删除第一个元素“ ”; arr.remove(2);//删除具体位置; String s=arr.remove(1 );//删除并返回指定元素 arr.clear();//清空集合 arr.contains("a")//是否包含指定元素 arr.get(3)//获得指定位置的元素 arr.indexOf("b")//指定元素第一次出现的位置 arr.lastIndexOf("a")//从后往前,指定元素第一次出现的位置 arr.isEmpty()//判断集合是否为空 arr.size()//获得集合的长度 arr.set(1,"AAA")//替换指定位置元素 System.out.println(arr);//输出全部arr
LinkedList:
LinkedList<String> arr=new LinkedList(); arr.add("a");arr.add("b");arr.add("c"); arr.add("d");arr.add("e");arr.add("f"); arr.add("g");arr.add("a");arr.add("a"); arr.add("a");arr.add("a");
LinkedList与ArrayList 方法相同
ArrayList
:
特征
:
底层实现为数组,支持动态扩容。
常用方法
:
add
()
、
get
()
、
set
()
、
remove
()
、
size
()
等。
LinkedList
:
特征
:
底层实现为双向链表,支持高效的插入和删除操作。
常用方法
:
add
()
、
get
()
、
set
()
、
remove
()
、
size
()
等