List,Set,Map都继承自Collection接口。

  List中的元素是有序存储,其中放入的值可以重复,以下标进行检索。

  Set中的元素也是无序存储的,但是里面不能存储重复的值。

  Map中的元素是以键值对的方式进行存储的。

  List接口有三个实现类:LinkedList,ArrayList,Vector 。

  LinkedList:底层基于链表实现,链表内存是散乱的,每一个元素存储本身内存地址的同时还存储下一个元素的地址。链表增删快,查找慢 
  ArrayList和Vector的区别:ArrayList是非线程安全的,效率高;Vector是基于线程安全的,效率低 
  Set接口有两个实现类:HashSet(底层由HashMap实现),LinkedHashSet 
  Map接口有三个实现类:HashMap,HashTable,LinkeHashMap 
    HashMap非线程安全,高效,支持null;

  HashTable线程安全,低效,不支持null 
  以上几种存储类型的操作非常类似,代码如下:

  List<String> list = new ArrayList<>();
  list.add("hello");
  list.add(".");
  list.add("world");
  Iterator<String> it2 = list.iterator();
  while (it2.hasNext())
  System.out.print(it2.next());
  for (String s : list)
    System.out.print(s);

  Set<String> set = new HashSet<>();
  set.add("hello");
  set.add(".");
  set.add("world");
  Iterator<String> it1 = set.iterator();
  while (it1.hasNext())
    System.out.print(it1.next());
  for (String s : set)
    System.out.print(s);

  Map<String, String> map = new HashMap<>();
  map.put("0", "hello");
  map.put("1", ".");
  map.put("2", "world");
  Set<String> keySet = map.keySet();
  Iterator<String> it3 = keySet.iterator();
  while (it3.hasNext())
    System.out.print(it3.next());
  for (String key : keySet)
    System.out.print("key:" + key + ",value:" + map.get(key));

  知识点的介绍到此结束。虽然以前也这些知识也算熟悉,但是通过这段时间的学习,对Java基础知识又有了一个更系统更全面的了解。