欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  类库下载

JAVA编程思想----11.4 容器的打印

程序员文章站 2022-03-06 16:54:51
...

JAVA编程思想(第四版)学习笔记----11.4 容器的打印

import static java.lang.System.out;

import java.util.ArrayList;
import java.util.Collection;
import java.util.HashMap;
import java.util.HashSet;
import java.util.LinkedHashMap;
import java.util.LinkedHashSet;
import java.util.LinkedList;
import java.util.Map;
import java.util.TreeMap;
import java.util.TreeSet;

public class ContainerFramework {

    static Collection fill(Collection collection) {
        collection.add("rat");
        collection.add("cat");
        collection.add("dog");
        collection.add("dog");
        return collection;
    }

    static Map fill(Map 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) {
        out.println(fill(new ArrayList()));
        out.println(fill(new LinkedList()));
        out.println(fill(new HashSet()));
        out.println(fill(new TreeSet()));
        out.println(fill(new LinkedHashSet()));
        out.println(fill(new HashMap()));
        out.println(fill(new TreeMap()));
        out.println(fill(new LinkedHashMap()));
    }
}
[rat, cat, dog, dog]
[rat, cat, dog, dog]
[cat, dog, rat]
[cat, dog, rat]
[rat, cat, dog]
{cat=Rags, dog=Spot, rat=Fuzzy}
{cat=Rags, dog=Spot, rat=Fuzzy}
{rat=Fuzzy, cat=Rags, dog=Spot}

经过运行代码,查看结果可以看出,Collection打印出来的内容用方括号[]括住,每个元素由逗号分隔;Map打印出来的内容用大括号{}括住,键与值用等号连接作为一个元素(键=值),每个元素用逗号分隔。

java容器类包括两种:以Collection接口为根的集合类,和以Map为根的关联数组类

Collection接口有三个重要的子类型:List(列表),Set(集合),Queue(队列)

List有两个重要的实现,分别为ArrayList和LinkedList


List接口的所有实现类都保证其元素可以按照插入顺序被保存,所以List是有序的collection。其中ArrayList优点在于可以高效的随机访问其元素,缺点在于在指定位置插入、移除元素的性能比较慢。而LinkedList在随机访问方面比较慢,但是在指定位置插入、移除元素的效率比较高。

2. Set有三个重要的实现,分别为HashSet,TreeSet,LinkedHashSet


Set接口的所有实现类都保证其元素不会重复。HashSet使用哈希算法来存数集合中的元素,它的元素是无序的,但是获取元素的效率是最快的。TreeSet是有序的集合,它将集合中的元素按照比较结果的升序进行保存。LinkedHashSet也是有序的集合,它按照元素插入的顺序进行保存对象,同时又具有HashSet的查询速度。

  3. Queue


Queue允许在容器的一端进行数据的插入,在另一端进行数据的移除。

Map接口有三个重要的子类型:HashMap,TreeMap,LinkedHashMap,可以通过键来查找值,是一种“键-值"对的容器

HashMap是无序的,具有最快的查找速度。

TreeMap是有序的,按照比较键的结果的升序进行保存

LinkedHashMap是有序的,按照插元素的顺序进行保存,同时也保留了HashMap的查询速度。

上一篇: Java.一维数组

下一篇: spring 注解