Java集合类的学习

为什么要学习Java集合类?

当我们用java编程的时候,经常使用int[] a=new int[50]; 去创建一个数组,可是如果面对:1.你不知道要存储的数据有多少条? 2.里面可能是int类型,也可能是String类型
的时候呢? 3.如果你不想存放重复的数据呢? ...
这个时候你就可以使用集合了,当然集合不只是能解决这些问题。

什么是Java集合类?

  • 集合类存放在Java.util包中。
  • 集合类分为 Set(集合)、List(列表)、Map(映射)
  • 其中Set和List继承了Collection接口,map的接口是Map。
  • 父类Set、List、Map符合单例模式,不能被实例化(错误示例:List list=new List();)。正确用法:List list=new ArrayList();

集合类的总结

Collection和Map的继承结构

Collection <-- List <-- Vector <-- Stack
Collection <-- List <-- ArrayList
Collection <-- List <-- LinkedList
Collection <-- Set <-- HashSet <-- LinkedHashSet
Collection <-- Set <-- SortedSet <-- TreeSet

Map <-- HashMap <-- LinkedHashMap
Map <-- SortedMap <-- TreeMap

List总结
  • List不声明泛型可以存放不同类型的数据
  • List可以有null
  • 实例于List的ArrayList适合查询,查询速度快,不适合插入删除,相反LinkedList适合插入删除,不适合查询操作。
  • Vector是基于Array的List,它是“Synchronized”(线程锁)的,这也是和ArrayList的唯一区别,这导致在性能上肯定要略于ArrayList。
  • List的实现方式有链表、队列、堆栈、数组
Set总结
  • Set的基础是HashMap,所以Set中的元素是不能重复的,使用add()方法的后者会覆盖前者。
  • TreeSet是有序排列的Set
Map总结
  • 使用Key和Value(键值对)存储数据,通过key取出数据。

集合类的使用方法

(未完待续)

你可能感兴趣的:(Java集合类的学习)