Java泛型07 : Java自带的泛型Collection、List、Map、

超级通道: Java泛型学习系列-绪论
本章主要对Java自带的泛型、List、Map和Set进行简单示例 。
1.Java集合
首先回顾一下常用的Java集合类型的相关接口和类之间的关系:

Java泛型07 : Java自带的泛型Collection、List、Map、

文章插图
Java在集合类型的定义中使用了大量的泛型 , 下面对这些常见的类型进行学习 。
2.List和Set
示例代码:
/*** 演示Java自带泛型的集合Collection类型* Created by 韩超 on 2018/1/30.*/public class CollectionPrintUtils {private final static Logger LOGGER = Logger.getLogger(CollectionPrintUtils.class);/*** 【Java泛型07 : Java自带的泛型Collection、List、Map、】Title: 打印集合
* @author 韩超@bksx 2018/1/31 13:31*/public static void pringCollection(E collection){if(null == collection || collection.isEmpty()) {LOGGER.info("无记录");}else {//java lambda表达式collection.forEach(LOGGER::info);}}/*** Java泛型在List和Set中的使用
* @author hanchao 2018/2/23 22:13**/public static void main(String[] args) {//ListList integerList = new ArrayList();integerList.add(new Integer(1));integerList.add(2);integerList.add(new Integer(3));LOGGER.info("integerList的元素如下:");CollectionPrintUtils.pringCollection(integerList);//SetSet stringSet = new HashSet();stringSet.add("set1");stringSet.add("set2");stringSet.add("set3");LOGGER.info("stringSet的元素如下");CollectionPrintUtils.pringCollection(stringSet);}}

运行结果:
2018-02-23 22:57:44 INFOCollectionPrintUtils:37 - integerList的元素如下:2018-02-23 22:57:44 INFOCollectionPrintUtils:1249 - 12018-02-23 22:57:44 INFOCollectionPrintUtils:1249 - 22018-02-23 22:57:44 INFOCollectionPrintUtils:1249 - 32018-02-23 22:57:44 INFOCollectionPrintUtils:44 - stringSet的元素如下2018-02-23 22:57:44 INFOCollectionPrintUtils:75 - set32018-02-23 22:57:44 INFOCollectionPrintUtils:75 - set22018-02-23 22:57:44 INFOCollectionPrintUtils:75 - set1
3.Map
示例代码:
/*** 演示Java自带泛型的集合Map类型* Created by 韩超 on 2018/1/31.*/public class MapPrintUtils {private final static Logger LOGGER = Logger.getLogger(MapPrintUtils.class);/*** Title: 打印Map
* @author 韩超@bksx 2018/1/31 14:28*/public static void printSet(E map){if (null == map || map.isEmpty()){LOGGER.info("当前Map无值!");}else {for (Object key : map.keySet()){Object value = http://www.kingceram.com/post/map.get(key);LOGGER.info("key:" + key + ",value:" + value);}}}/*** Java泛型在Map中的使用
* @author hanchao 2018/2/23 22:14**/public static void main(String[] args) {//hashMapMap hashMap = new HashMap<>();hashMap.put("key1","value1");hashMap.put(null,"value2");hashMap.put("key3",null);LOGGER.info("hashMap的元素如下");MapPrintUtils.printSet(hashMap);//hashTableMap hashTable = new Hashtable<>();hashTable.put(1,2D);hashTable.put(2,3D);hashTable.put(3,4D);LOGGER.info("hashTable的元素如下:");MapPrintUtils.printSet(hashTable);}}

运行结果:
2018-02-23 22:58:35 INFOMapPrintUtils:40 - hashMap的元素如下2018-02-23 22:58:35 INFOMapPrintUtils:26 - key:key1,value:value12018-02-23 22:58:35 INFOMapPrintUtils:26 - key:null,value:value22018-02-23 22:58:35 INFOMapPrintUtils:26 - key:key3,value:null2018-02-23 22:58:35 INFOMapPrintUtils:48 - hashTable的元素如下:2018-02-23 22:58:35 INFOMapPrintUtils:26 - key:3,value:4.02018-02-23 22:58:35 INFOMapPrintUtils:26 - key:2,value:3.02018-02-23 22:58:35 INFOMapPrintUtils:26 - key:1,value:2.0
4.和
示例代码:
/*** 集合工具类Collections和Arrays中的泛型示例