List Set

List

collection 单列集合 包括 list 和set 而 list 包括 Arraylist 和 linkedlist . set 包括 hashset 和 linkedhashset.
list 的特点; 有序 , 可以存储重复元素 , 带有索引的集合
list常用的方法
add往集合中添加元素.
这里写图片描述
往集合元素中用索引 添加指定元素.
这里写图片描述
删除指定元素通过索引 ,并且打印出来;
这里写图片描述
在指定位置通过索引替换 某个元素 ,
这里写图片描述
返回指定元素
这里写图片描述

数据结构;
什么是 数据结构;存储数据的方式
不同的数据结构,存储数据的方式不同,则就导致数据结构 特点不同. 就是 会影响增 ,删, 改, 查.的速率不同.
数组; 在内存 是 “连续的”, 一个元素挨着一个元素进行 存储的, 可以通过索引进行访问
这里写图片描述
链表特点; 多个节点 同过地址连接 , 查询慢 增删快
这里写图片描述
栈stack 特点是 先进后出 有弹栈; 取出元素 和 压栈;存入元素 只能充一个口出来
受限的线性表
这里写图片描述
队列; 特点是 先进先出 , 受限的线性表 ,添加 和 删除 各占一端;
这里写图片描述
红黑树;
这里写图片描述
二叉树; 是每个节点都不超过2的树杈.

list 子类 Arraylist 增删快 查询慢 linkedlist 是增删慢 查询快 . 有 pop 和push 两种特有的方法

set接口 hashset存储自定义对象

Hashset 是一个无序的 ,不可以存储重复的元素, 它的底层是一个 map进行实现的.保证查取 和 不重复 要用到hashcold 和 equals 方法 进行判断.
这里写图片描述
这里写图片描述
哈希表在jdk1.8以前, 是链表 + 数组 , hash值较多时 key 值 进行查找时速率比较低.之后就是 数组+ 链表+ 红黑树. 验证元素的唯一性. 先用hashcode() 进行判断 之后再用equlas进行判断
这里写图片描述

set接口的可变参数;
一个方法只能用一个元素,
这里写图片描述

collections工具类
java.util.collections 工具类是 对collection 集合操作的一些工具性操作.
addAll 向集合里面添加元素.
这里写图片描述
shuffle打乱集合顺序
这里写图片描述
将集合中元素按照默认顺序排列;
这里写图片描述
Comparable接口和 Comparator接口比较
Comparable:强行对实现它的每个类的对象进行整体排序。这种排序被称为类的自然排序,类的compareTo方法被称为它的自然比较方法。只能在类中实现compareTo()一次,不能经常修改类的代码实现自己想要的排序。实现此接口的对象列表(和数组)可以通过Collections.sort(和Arrays.sort)进行自动排序,对象可以用作有序映射中的键或有序集合中的元素,无需指定比较器。
Comparator强行对某个对象进行整体排序。可以将Comparator 传递给sort方法(如Collections.sort或 Arrays.sort),从而允许在排序顺序上实现精确控制。还可以使用Comparator来控制某些数据结构(如有序set或有序映射)的顺序,或者为那些没有自然顺序的对象collection提供排序。

猜你喜欢

转载自blog.csdn.net/weixin_42943720/article/details/82534805