读书人

器皿的特点

发布时间: 2012-12-20 09:53:21 作者: rapoo

容器的特点

有幸参加一次电话面试,让我知道了一个成功的钓鱼人只和一只3000斤的鱼合影,而不是30只100斤的鱼。技术在深,不在广。

?

ArrayList和LinkedList都是List类型,他们都按照插入元素的顺序保存元素。两者的区别是ArrayList在随机访问时效率较高,插入和移除元素时较慢;LinkedList随机访问时的效率低,插入和移除元素时效率高。

?

HashSet、TreeSet、LinkedHashSet都是Set类型。Set容器中相同的元素只保留一次。HashSet采用相当复杂的方式存放元素,但是查询速度最快。TreeSet的元素按照升序保存,需要顺序输出时使用。LinkedHashSet采用链表存储元素,元素按照输入的顺序排序。

?

HashMap与HashSet一样,拥有最快的查询速度;TreeMap存放的元素按照比较结果的升序排列;LinkedHashSet按照插入时的顺序保存元素,同时保留了HashMap的查询速度。

?

public class Test{public static Collection fill(Collection<String> collection){collection.add("dog");collection.add("cat");collection.add("rat");collection.add("dog");return collection;}public static Map fill(Map<String,String> map){map.put("rat", "Fuzzy");map.put("cat", "Rags");map.put("dog", "Bosco");map.put("dog", "Spot");return map;}public static void main(String[] args){System.out.println(fill(new ArrayList()));System.out.println(fill(new LinkedList()));System.out.println(fill(new HashSet()));System.out.println(fill(new TreeSet()));System.out.println(fill(new LinkedHashSet()));System.out.println(fill(new HashMap()));System.out.println(fill(new TreeMap()));System.out.println(fill(new LinkedHashMap()));}}/*[dog, cat, rat, dog][dog, cat, rat, dog][dog, cat, rat][cat, dog, rat][dog, cat, rat]{dog=Spot, cat=Rags, rat=Fuzzy}{cat=Rags, dog=Spot, rat=Fuzzy}{rat=Fuzzy, cat=Rags, dog=Spot}*/

读书人网 >编程

热点推荐