Java 集合入门


推荐看这篇文章
java集合入门和深入学习,看这篇就差不多了


一、集合入门

Java中的集合框架可分为CollectionMap
Collection中包含两大体系ListSet

  • List中包含ArrayListLinkedListVertor
  • Set中包含HashSetLinkedHashSetTreeSet

Map中包含HashMapLinkedHashMapTreeMap

在这里插入图片描述

一、Collection

1、List

有序,有索引,可以根据索引进行取值,元素可以重复

①、ArrayList

底层使用数组实现,具有数组的特点,查询速度快,增删速度慢,线程不安全

arrayList.add()  // 增加
arrayList.remove() // 删除
arrayList.set() // 修改
arrayList.get() // 查找
arrayList.size() // 大小

②、LinkedList

底层基于链表结构实现,具有链表的特点,查询慢,增删速度快,提供特殊方法,对头尾的元素操作(增删)
线程不安全。
实现队列,栈。

linkedList.add() // 在链表后添加一个元素,返回true或false
linkedList.addFirst()  // 在链表头部插入一个元素
linkedList.addLast() // 在链表尾部添加一个元素
linkedList.remove(), removeFirst(), removeLast() // 移除链表中第一个元素、第一个、最后一个
linkedList.get(), getFirst(), getLast()
linkedList.push(), pop(), poll()

③、Vector

已经过时,被ArrayList取代,通过迭代器vector.elements()获取,判断是否有元素和取元素的方法为,hasMoreElements(), nextElement()。

2、Set

存储无序,元素不可以重复

①、HashSet

基于哈希表?


哈希表(散列表)原理详解


如何保证元素的唯一性?
hashCode和equals方法

②、LinkedHashSet

是基于链表和哈希表共同实现的,所以具有存取有序,元素唯一

③、TreeSet

存取无序,元素唯一,可以进行排序。
TreeSet是基于二叉树的数据结构。
二叉树都懂。

二、Map

map是一个双列集合,其中保存的是键值对,要求键唯一,值可以重复。键存取无序。

①、HashMap

基于哈希表结构实现,所以存储自定义对象作为键时,必须重谢hashCode和equals方法。

②、LinkedHashMap

是基于链表和哈希表结构的所以具有存取有序,键不重复的特性

③、TreeMap

TreeMap底层使用的二叉树,其中存放进去的所有数据都需要排序,要排序,就要求对象具备比较功能。对象所属的类需要实现Comparable接口。或者给TreeMap集合传递一个Comparator接口对象。

猜你喜欢

转载自blog.csdn.net/weixin_41288824/article/details/108618332