Java cheatsheet (VI)

6.1. 容器概述

容器的继承结构:

  • Collection

    • List
    • ArrayList
    • LinkedList
    • Set
    • TreeSet
    • HashSet
      • LinkedHashSet
    • Queue
    • PriorityQueue
  • Map

    • TreeMap
    • HashMap
    • LinkedHashMap

6.2. 举例说明 ArrayList 的用法

注意容器的泛型参数没有制定的时候默认为 Object 类型;

List<String> list = new ArrayList<String>();
list.add("Hello");
list.add("World");
System.out.println(list.get(0));  // Hello
for(String s : list) {
    System.out.print(s + " "); // Hello world
}

6.3. 批量添加元素

Arrays.asList() 接受一个数组或者用逗号分割的参数列表;并将其转换成 List 对象。(注意这个 List 对象底层是 Array 实现,因此不能 add 或者 delete);

Collection.addAll() 方法接受一个 Collection 对象,一个数组或者是用逗号分割的参数列表,将其添加到当前的 Collection 中。

Collection 的构造函数可以接受另一个 Collection 作为输入;

但是首选的方式是先创建一个空的 Collection,然后通过 addAll 批量插入元素。

Collection<Integer> collection = new ArrayList<Integer>(Arrays.asList(1, 2, 3, 4, 5));
Integer[] moreInts = { 6, 7, 8, 9, 10 };
collection.addAll(moreInts);
Collections.addAll(collection, 11, 12, 13, 14, 15);
Collections.addAll(collection, moreInts);

6.4. Arrays.asList 的类型识别与指定

一般来说调用 Arrays.asList 的时候,返回的 List 类型会被自动适配到最大公共祖先的类型。

也可以手动指定其返回的类型:

List<String> list = Arrays.<String>asList("one", "two");

6.5. 容器的打印

Collection 或者 Map 的对象都可以通过 toString() 成员方法来获取可读的字符串表示,可供打印。


【转载请附】愿以此功德,回向 >>

原文链接:https://www.huangwenchao.com.cn/2015/02/java-cheatsheet-6.html【Java cheatsheet (VI)】

发表评论

电子邮件地址不会被公开。 必填项已用*标注