注:参考《Java编程思想(thinking in Java)》一书

一般情况下需要使用Arrays.toString()来打印数组,但是打印容器无需任何帮助。

下面展示5种Collection类型的容器的打印以及3种Map类型容器的打印

Collection:

ArrayList(),LinkedList(),HashList(),TreeList(),LinkedHashList

Map:

HashMap(),TreeMap(),LinkedHashMap()

代码如下:

1 package Generic;
 2 
 3 import java.util.*;
 4 
 5 public class GenericPrint {
 6     @SuppressWarnings("rawtypes")
 7     static Collection fill(Collection<String> collection){
 8         collection.add("rat");
 9         collection.add("fanghui");
10         collection.add("pig");
11         collection.add("dog");
12         collection.add("fanghui");
13         return collection;
14     }
15     @SuppressWarnings("rawtypes")
16     static Map fill(Map<String,String> map){
17         map.put("num1", "rat");
18         map.put("num2", "fanghui");
19         map.put("kum3", "pig");
20         map.put("num4", "dog");
21         map.put("num5", "fanghui");
22         return map;
23     }
24     public static void main(String[] args){
25         System.out.println(fill(new ArrayList<String>()));
26         System.out.println(fill(new LinkedList<String>()));
27         System.out.println(fill(new HashSet<String>()));
28         System.out.println(fill(new TreeSet<String>()));
29         System.out.println(fill(new LinkedHashSet<String>()));
30         System.out.println(fill(new HashMap<String,String>()));
31         System.out.println(fill(new TreeMap<String,String>()));
32         System.out.println(fill(new LinkedHashMap<String,String>()));
33     }
34 }

执行结果如下:

java main函数启动 打印图片 java 打印map_java

注:

Collection类型使用add(String str)来添加一个元素,Collection.get(int i)得到第i个值

Map类型使用put(Key,Value)来添加一个元素。Map.get(key)得到与这个键关联的值。键和值在Map中保存的顺序并不是它们的插入顺序,因为HashMap实现使用的是一种非常快的算法来实现控制排序。

List以特定的顺序保存一组元素

Set,元素不能重复

TreeSet,TreeMap按照比较结果的升序保存对象(Map类型的TreeSet以Key来比较)

 

一点浩然气,千里快哉风!