Fork me on GitHub

List和Set区别

  • 1. Set 接口实例存储的是无序的,不重复的数据。List 接口实例存储的是有序的,可以重复的元素。

  • 2. Set检索效率低下,删除和插入效率高,插入和删除不会引起元素位置改变 <实现类有HashSet,TreeSet>

  • 3. List和数组类似,可以动态增长,根据实际存储的数据的长度自动增长List的长度。查找元素效率高,插入删除效率低,因为会引起其他元素位置改变 <实现类有ArrayList,LinkedList,Vector> 。

 

另:

List遍历

 1 public static void main( String[] args ){
 2         
 3         List<String> list=new ArrayList<String>();
 4         list.add("Hello");
 5         list.add("World");
 6         list.add("HAHAHHAHAHHA");
 7         
 8         //第一种遍历方法使用foreach遍历List
 9         for(String str :list){
10             System.out.println(str);
11         }
12         
13         //第二种遍历,把链表变为数组相关的内容进行遍历
14         String[] stringArray=new String[list.size()];
15         list.toArray(stringArray);
16         for(int i=0;i<stringArray.length;i++){
17             System.out.println(stringArray[i]);
18 
19         }
20         
21         //第三种遍历 使用迭代器进行相关遍历
22         Iterator<String> ite=list.iterator();
23         while(ite.hasNext()){
24             System.out.println(ite.next());
25         }
26     }

Map遍历

 1 public static void main(String[] args) {
 2        
 3         Map<String,String> map=new HashMap<String,String>();
 4         map.put("1", "value1");
 5         map.put("2", "value2");
 6         map.put("3", "value3");
 7         
 8         //第一种:普遍使用,二次取值 通过Map.KeySet遍历key和value
 9         System.out.println("通过Map.keySet遍历key和value:");
10         for(String key:map.keySet()){
11             System.out.println("key="+key+" value="+map.get(key));
12         }
13         
14         //第二种
15         System.out.println("通过Map.entrySet使用iterator遍历key和value:");
16         Iterator<Map.Entry<String,String>> it=map.entrySet().iterator();
17         while(it.hasNext()){
18            Map.Entry<String, String> entry=it.next();
19            System.out.println("value="+entry.getKey()+" and value="+entry.getValue());
20         }
21 
22         //第三种:推荐,尤其是容量大时
23         System.out.println("通过Map.entrySet遍历key和value");
24         for (Map.Entry<String, String> entry : map.entrySet()) {
25             System.out.println("key= " + entry.getKey() + " and value= " + entry.getValue());
26         }
27         
28         //第四种
29         System.out.println("不能获取key,只能获取value");
30         for(String str:map.values()){
31             System.out.println(str);
32         }
33     }

 

posted @ 2017-11-23 20:06  薄荷加冰2060  阅读(222)  评论(0编辑  收藏  举报