注:参考《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 }
执行结果如下:
注:
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来比较)
一点浩然气,千里快哉风!