一、java集合类是什么?java集合类型主要有哪些?
  首先看一张概念图,这里囊括了集合类的大部分关系及内容

  集合类存放的都是对象的引用,而非对象本身,出于表达上的便利,我们称集合中的对象是指集合中对象的引用(reference)。
  通俗地讲,集合类是把一些对象的引用放在一起(特别是我们需要存放一些数据却不知道个数的情况下),便于我们直接从集合中使用这些引用。通常来说,集合内所包含的引用,都是具有某种特性。
  集合类型主要有3种:set(集)、list(列表)和map(映射)。
  注意:Set、Map和List都是接口,并没有具体实现。
  二、set、list和map的区别有哪些?
  用一个表格总结一下

  List和Set是继承了Collection接口,List有序且允许元素重复,Set不允许元素重复。ArrayList、LinkedList和Vector是List的三个主要的实现类,HashSet和TreeSet是Set的两个主要的实现类。
  Map则是与List和Set有所不同,区别在于Map是键与值之间的关系,而其中的键我们可以看做是一个集合。其中的键是必须的,而值可以重复。