集合框架(三)
一些重要的区别
set与list的区别:
set是无索引的,list是有索引的;
ArrayList与LinkList的区别:
前者是基于数组实现的,后者是基于链表实现的;
两者的使用方法一样,但是在遇到具体问题中区分如下:
ArrayList查找速度比较快,但是增加,删除数组比较慢;
LinkList查找速度比较慢,但是增加或删除元素的速度比较快;
hashSet 与 TreeSet的区别:
前者输出是无任何顺序,即随机输出。后者按有序排列输出《注意:直接输出是只能按首字母的顺序排列,且只能用拼音来写》
实际代码如下:
1 package javastudy; 2 3 import java.util.HashSet; 4 import java.util.Iterator; 5 6 public class HashSetit { 7 public static void main(String agrs[]) 8 { 9 HashSet<String> hs = new HashSet<String>(); 10 hs.add("北京"); 11 hs.add("上海"); 12 hs.add("天津"); 13 hs.add("重庆"); 14 for(Iterator<String> it=hs.iterator();it.hasNext();) 15 { 16 System.out.println(it.next()); 17 } 18 } 19 }
输出结果:上海 天津 重庆 北京
1 package javastudy; 2 3 import java.util.*; 4 5 6 public class HashSetit { 7 public static void main(String agrs[]) 8 { 9 TreeSet<String> ts = new TreeSet<String>(); 10 ts.add("我"); 11 ts.add("爱"); 12 ts.add("你"); 13 for(Iterator<String> it=ts.iterator();it.hasNext();) 14 { 15 System.out.println(it.next()); 16 } 17 //清除上述内容,重新编辑; 18 ts.clear(); 19 System.out.println("----------"); 20 ts.add(" I"); 21 ts.add(" Love"); 22 ts.add(" You"); 23 print1(ts); 24 25 } 26 static void print1(TreeSet<String> ts) 27 { 28 Iterator<String> it=ts.iterator(); 29 while(it.hasNext()) 30 { 31 System.out.println(it.next()); 32 } 33 34 } 35 } 36 输出内容为: 37 你 38 我 39 爱 40 ---------- 41 I 42 Love 43 You