Java-collection,list,set, Map

Collection

在这里插入图片描述
Collection是所有单列集合的⽗接⼝,因此在Collection中定义了单列集合(List和Set)通⽤的⼀些⽅法,这些⽅法可⽤于操作所有的单列集合
boolean add(Object)
boolean remove(Object)
int size()
void clear(): 移除所有元素
boolean isEmpty(): 判断 size==0
addAll(Collection)
removeAll(Collection)
boolean contains(Object): 是否包含某一个元素
boolean containsAll(Collection): 是否包含指定集合中所有元素
注意: 集合在做删除\判断元素是否存在的操作时 都会调用到对象的equals方法, 来判断两个对象是否相等
如果是自定义的类, 必须要重写equals方法

Iterator迭代器

在这里插入图片描述

List

List::线性结构的集合(有顺序), 有标号, 可重复
插入 add(index, object) addAll
删除 remove(index)
获得 get(index)

LinkedList

LinkedList是一个双向链表
在这里插入图片描述

public void addFirst(E e) :将指定元素插⼊此列表的开头。
public void addLast(E e) :将指定元素添加到此列表的结尾。
public E getFirst() :返回此列表的第⼀个元素。
public E getLast() :返回此列表的最后⼀个元素。
public E removeFirst() :移除并返回此列表的第⼀个元素。
public E removeLast() :移除并返回此列表的最后⼀个元素。
public E pop() :从此列表所表示的堆栈处弹出⼀个元素。
public void push(E e) :将元素推⼊此列表所表示的堆栈。
public boolean isEmpty() :如果列表不包含元素,则返回true。

Set接口

Set方法与collection接口中的方法基本一致,只是比collection接口更加严格了,set没有get方法,虽然list有get方法,但是collection作为两个类的父接口没get方法

HashSet

HashSet是Set接口的一个实现类,它存储的元素不可重复,且无序
HashSet 是根据对象的哈希值来确定元素在集合中的存储位置,因此具有良好的存取和查找性能。
HashSet集合存储数据的结构:
哈希表是由数组+链表+红⿊树(JDK1.8增加了红⿊树部分)实现的
在这里插入图片描述
给HashSet中存放⾃定义类型元素<>时,需要重写对象中的hashCode和equals⽅法,

Queue

遵循先入先出、后入后出的基本原则
LinkedList 实现了 Queue 接口,可作为队列使用

offer 添加一个元素并返回true
poll 移除并返问队列头部的元素
peek 返回队列头部的元素
put 添加一个元素

Deque(I) 双端队列 -> 栈(pop push)
实现:LinkedList

Map

Map常⽤⼦类:
HashMap 将 value统一, 单独的key部分就是 HashSet
LinkedHashMap 有序的映射表 就是 LinkedHashSet
TreeMap 排序的映射表(对key排序) 就是 TreeSet

Map常用方法:
public V put(K key, V value) :把指定的键与指定的值添加到Map集合中。
public V remove(Object key) :把指定的键 所对应的键值对元素 在Map集合中删除,返回被删
除元素的值。
public V get(Object key) :根据指定的键,在Map集合中获取对应的值。
boolean containsKey(Object key) :判断集合中是否包含指定的键。
public Set keySet() :获取Map集合中所有的键,存储到Set集合中。
public Set> entrySet() :获取到Map集合中所有的键值对对象的集合(Set集合)。

//遍历键找值⽅式
// 获取所有的键 获取键集
 Set<String> keys = map.keySet();
 // 遍历键集 得到 每⼀个键
 for (String key : keys) {
 // key 就是键
 // 获取对应值
 String value = map.get(key);
//遍历键值对⽅式
// 获取 所有的 entry对象 entrySet
 Set<Entry<String,String>> entrySet = map.entrySet();
 // 遍历得到每⼀个entry对象
 for (Entry<String, String> entry : entrySet) {
 // 解析
 String key = entry.getKey();
 String value = entry.getValue(); 
 System.out.println(key + "的CP是:" + value);
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值