java对象容器List,Map,Set

时间:2022-02-16 22:24:34

1.结构

java对象容器List,Map,Set

我们来总结一下(对于泛型后续介绍):
首先:
Collection:他的实现类有三个分支List,Set,Queue
List: ArryList,LinkedList,
Set: HashSet,LinkHashSet,TreeSet(只能储存唯一元素,就是会有重复的值出现)
Queue: PriortyQueue (我们可以用LinkedList来实现Stack(栈)以及Queue(队列))
Map: HashMap,LinkedHashMap,TreeMap(关联数组,key,value的形式,key不能重复)

我们可以对这些容器对于对象的存储方式进行这样的分类
1,ArrayList,HashSet,HashMap他们都是以随机的hash散列算法来存储对象,所以对于随机访问元素的效率高
2,LinkedList,LinkHashSet,LinkedHashMap:按照元素的指定插入顺序进行排列
3.TreeSet,TreeMap 按照插入元素的比较结果进行升序排列
对于接口与实现类的关系这里不做过多介绍!就是声明与实例的不同导致方法多少的问题
Collection–>ArryList,LinkedList
Set –>HashSet,LinkHashSet,TreeSet
Map–> HashMap,LinkedHashMap,TreeMap

2.方法(我这里只介绍具体的方法而不去写具体的代码)

2.1ArrayList
— Array.asList(),把一个数组或者“,”号分割的字符串转化为一个List ,List的尺寸不能变化(不能插入删除数据)
—toArray(),将List转化为数组
—indexOf()返回某个元素的索引
—add(),addAll()插入元素
—remove() ,removeAll()删除并返回元素
—subList()截取List
—contains(),containsAll(),判断List中是否有某个元素(集合)

2.2LinkedList
—getFirst(),element(),返回并不移除第一个元素,如果元素为空则会抛出异常(NoSuchElementException)
—peek()在返回第一的元素为空时则会返回null
— removeFirst(),remove(),移除并返回列表的头,元素为空同样会抛出异常
— poll移除并返回列表的头,元素为空返回null
—-addFirst(),add(),addLast(),向尾(端)插入元素
—removeLast(),删除并返回最后一个元素

3.Set(不保存重复元素)

—HashSet,散列存储方式,
—TreeSet 元素存储在红-黑数据结构中
—LinkedHashSet 也使用了散列,但看起来用了链表结构储存数据

4.Map(可以多维)
遍历方式:Map.Entry<?,?> entry : map.entrySet()
—get() 返回map中的键 为空返回null
—put(key,value) 存放键值对
—containsKey(),containsValue(),判断是否包含某键/值

5.Queue(LinkedList实现了Queue这里不做过多介绍)

6.PriorityQueue(优先级队列,先进先出)

7.ForEach与Interable接口
任何实现Interable接口的类都可以作用于foreach中

备注:关于本章的代码后续会补全!!!

还是那句话,如果我的文章对你撸码有帮助,请点一波关注,那里说的不对,请轻喷!