java集合
概念:对象的容器,实现了对对象的操作,类似于数组。
一、集合和数组的区别
1.数组长度固定,集合长度不固定。
2.数组可以存储基本类型和引用类型,集合只能引用类型。
二、Set和List的区别
-
Set 接口实例存储的是无序的,不重复的数据。List 接口实例存储的是有序的,可以重复的元素。
-
Set检索效率低下,删除和插入效率高,插入和删除不会引起元素位置改变 <实现类有HashSet,TreeSet>。
-
List和数组类似,可以动态增长,根据实际存储的数据的长度自动增长List的长度。查找元素效率高,插入删除效率低,因为会引起其他元素位置改变 <实现类有ArrayList,LinkedList,Vector>
三、三种for循环
List list = new ArrayList<>();
list.add("苹果");
list.add("橘子");
list.add("香蕉");
1.使用for循环
for(int i=0;i<list.size();i++){
System.out.println(list.get(i));
}
2.使用增强for
for(Object object : list){
System.out.println(object);
}
3.使用迭代器
Iterator it = list.iterator();
when(it.hasNext()){
System.out.println(it.next());
}
4.使用列表迭代器,和Iterator
不一样的是,ListIterator
可以向前向后遍历,添加、修改、删除元素
ListIterator lit = list.listIterator();
when(it.hasNext()){
//从前往后
System.out.println(lit.nextIndex()+":"+lit.next());
}
when(it.hasPrevious()){
//从后往前
System.out.println(lit.previousIndex()+":"+lit.previous());
}
待续…