Collection集合类根接口:被继承产生list、set。list包含重复元素,set不可。
List<String> list = new ArrayList<>();
list.add("ll");
list.add("ll");
list.add("long");
list.add("ll");
for(int i=0;i<list.size();i++){
System.out.println("go"+ list.get(i));
}
l
ArrayList、LinkedList区别:
1.ArrayList是实现了基于动态数组的数据结构,LinkedList基于链表的数据结构。
2.对于随机访问get和set,ArrayList觉得优于LinkedList,因为LinkedList要移动指针。
3.对于新增和删除操作add和remove,LinedList比较占优势,因为ArrayList要移动数据。
Map不能包含重复的key,可以包含相同的value。
iterator()方法是java.lang.Iterable接口,被Collection继承。
Iterator,所有的集合类,都实现了Iterator接口,这是一个用于遍历集合中元素的接口:
1.hasNext()是否还有下一个元素。2.next()返回下一个元素。3.remove()删除当前元素
List<String> list = new ArrayList<>();
list.add("ll");
list.add("ll");
list.add("long");
list.add("ll");
// for(int i=0;i<list.size();i++){
// System.out.println("go"+ list.get(i));
// }
Iterator diedai = list.iterator();
while(diedai.hasNext()){
String put = diedai.next().toString();
System.out.println(put);
}
List里存放的对象是有序的,可以重复的,List关注的是索引,拥有一系列和索引相关的方法,查询速度快。因为往list集合里插入或删除数据时,会伴随着后面数据的移动,所有插入删除数据速度慢。
Set里存放的对象是无序,不能重复的,集合中的对象不按特定的方式排序,只是简单地把对象加入集合中。
Map集合中存储的是键值对,键不能重复,值可以重复。
根据键得到值,对map集合遍历时先得到键的set集合,对set集合进行遍历,得到相应的值。
treeset\treemap 有序,二叉排序树
keyset:
Map<String, String> map = new HashMap<String, String>();
map.put("key1","ll");
map.put("key2","11");
map.put("key3","11");
map.put("key4","11");
Iterator<String> diedai = map.keySet().iterator();
while(diedai.hasNext()){
String put = diedai.next().toString();
System.out.println(map.get(put));
}
(待续)。。。。