标签:hashmap linkedlist arraylist iterator 对象
今天晚上本来想看看泛型,后来看到集合类这里,因为之前一直对集合类就有点阴影,老是搞混淆,索性就复习下集合类的几种遍历方式吧,顺便做下笔记,以备以后回头查看。
总之来说,java的集合类都是实现Collection接口
Collection<--List<--Vector
Collection<--List<--ArrayList
Collection<--List<--LinkedList
Collection<--Set<--HashSet
Collection<--Set<--HashSet<--LinkedHashSet
Collection<--Set<--SortedSet<--TreeSet
Set(集):(HashSet)无序不重复
List(ArrayList和LinkedList)(列表):无序可重复
Map(映射,键值对):(HashMap)有序key值不重复
Set总结:
1. Set实现的基础是Map(HashMap);
2. Set中的元素是不能重复的,如果使用add(Object
obj)方法添加已经存在的对象,则会覆盖前面的对象;
Set遍历两种方法:
<span style="font-size:12px;">public static void testSet(){ //无序不重复 Set<String> set = new HashSet<String>(); set.add("我是哈哈"); set.add("我是哈哈"); set.add("我是幕燃"); set.add("我是幕燃2"); //遍历方法一 Iterator Iterator<String> it = set.iterator(); while(it.hasNext()){ String str = it.next().toString(); System.out.println(str); } //遍历方法二 for for (String str: set) { System.out.println(str); } }</span>
List总结:
1. 所有的List中只能容纳单个不同类型的对象组成的表,而不是Key-Value键值对。例如:[ tom,1,c ];
2. 所有的List中可以有相同的元素,例如Vector中可以有 [ tom,koo,too,koo ];
3. 所有的List中可以有null元素,例如[ tom,null,1 ];
4. 基于Array的List(Vector,ArrayList)适合查询,而LinkedList(链表)适合添加,删除操作。
List遍历的三种方式:
LinkedList:
<span style="font-size:12px;">public static void testLinkedList(){ //有序可重复 List<String> list = new LinkedList<String>(); list.add("我是哈哈"); list.add("我是哈哈"); list.add("我是幕燃"); list.add("我是幕燃2"); //遍历第一种 get for (int i = 0; i < list.size(); i++) { System.out.println(list.get(i)); } //遍历第二种 Iterator Iterator<String> it = list.iterator(); while(it.hasNext()){ String str = (String)it.next(); System.out.println(str); } //遍历第三种 for for (String str : list) { System.out.println(str); } }</span>
ArrayList
public static void testArrayList(){ //ArrayList 有序允许重复 List<String> list = new ArrayList<String>(); list.add("我是小颜"); list.add("我是小颜"); list.add("我是幕燃"); list.add("我是幕燃2"); //遍历第一种 get for (int i = 0; i < list.size(); i++) { System.out.println(list.get(i)); } //遍历第二种 Iterator Iterator<String> it = list.iterator(); while(it.hasNext()){ String str = (String)it.next(); System.out.println(str); } //遍历第三种 for for (String str : list) { System.out.println(str); } }Map遍历的五种方式:
public static void testMap(){ //Map 无序key值不重复 Map<String, String> map = new HashMap<String, String>(); map.put("zhangsan", "我是张三"); map.put("devin", "我是dw"); map.put("haha", "我是哈哈"); //遍历方法一 map.keySet + for for(String key : map.keySet()){ System.out.println("key="+ key + ",value=" + map.get(key)); } //遍历方法二map.keySet +Iterator Iterator<String> iterator = map.keySet().iterator(); while(iterator.hasNext()){ String key1 = iterator.next().toString(); System.out.println("key="+ key1 + ",value=" + map.get(key1)); } //遍历方式三 map.values for (String key2 : map.values()) { System.out.println("value=" + key2); } //遍历方式四 map.entrySet + for for(Map.Entry<String,String> entry : map.entrySet()){ System.out.println("key="+ entry.getKey() + ",value=" + entry.getValue()); } //遍历方式五map.entrySet() + Iterator Iterator <Map.Entry<String,String>> entry = map.entrySet().iterator(); while(entry.hasNext()){ Map.Entry<String, String> ent = entry.next(); System.out.println("key="+ ent.getKey() + ",value=" + ent.getValue()); } }
标签:hashmap linkedlist arraylist iterator 对象
原文地址:http://blog.csdn.net/dream_angel_z/article/details/45318223