集合框架
ArrayList
创建集合:ArrayList list =new ArrayList();
ArrayList:有序的,都有下标,可以重复值;
集合的长度 :list.size();输出集合长度。数组长度 数组名。length属性(字符串。length()方法)
获取值:list.get(i);也可以for循环
增加元素:list.add();
集合删除:针对非int类型 list.remove(“”);
若果是int类型list.remove(new Interer(111));
集合修改:list.set(下标,新的值);注意下标添加不要 超过 原来数组最大长度
查找值:indexOf,lastIndexOf返回第一次查到值的下标;如果没有返回-1;
list.contains();找到返回true,没找到返回false;
判断集合为空:list.isEmpty()或者list.size()
清空所有元素:list.clear();
ArrayList和Vector有什么区别
ArrayList的方法和实现基本上和Vector一样,底层都是数组的实现
但是Vector的方法是线程安全的,ArrayList没有考虑线程安全问题
ArrayList在一些算法上做了优化,效率更高
LinkedList
ArrayList 和LinkedList区别
-
Array List底层是数组的实现,LinkedList底层是链条的实现
-
在Java中链条就是自己实现了一个类,在类中记录前一个和后一个的地址,
-
每次查找都需要找到前一个或者后一个才能往前或者往后找到,Java做了优化可以判定从前开始还是从后开始
-
Array List查找速度快,但是删除、插入速度慢
-
LinkedList删除和插入的速度快,但是查找速度慢,
-
LinkedList有自己独有的addFirst addLast removeLast removeFirst的方法
List接口下的集合特点
-
都是有序的(按照添加的顺序获取)
-
都有下标
-
可以重复
set接口下的集合特点
-
没有下标
-
无序的
-
不能重复(覆盖)
增强for循环(foreach循环)
for(父类 名:子类){System.out.println(名)}
迭代器Iterator
Iterator it=set.iterator();
while(it.hasNext()){
Object obj =it.next();
System.out.println(obj);
浙公网安备 33010602011771号