标签: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