Java数据结构

Java数据结构

JCF

ArrayLisy(数组链表)

LinkedList(双向链表)

集合set(元素只能是对象)

HashSet(基于HashMap实现)

不存在相同的元素,无序的集合,支持插入null

-add添加一个元素

-clear清除整个HashSet

-contains判定是否包含一个元素

-remove删除一个元素 size 大小

-retainAll计算两个集合交集

LinkedHashSet (基于HashMap实现)

不存在重复的元素,双向链表,保存插入顺序,支持插入null

Hashset和LinkedHashSet判定元素重复的原则是①判断两个元素的hashCode返回值是否相同,若不同,返回false,②若两者的hashCode相同,判定equals方法,若不同,返回false,否则返回true,③重写了hashCode方法和equals方法后,应当吧toString方法一起重写,保持返回值一致

TreeSet

不支持插入null,按照插入元素的大小升序输出

-add添加一个元素

-clear清除整个HashSet

-contains判定是否包含一个元素

-remove删除一个元素 size 大小

继承Compare接口,根据compareTo方法或指定Comparator排序

映射Map

Hashtable(key,value)

-K-V对,K和V都不允许为null

-同步,多线程安全

-无序的

-适合小数据量

-clear清空数据

-contains等同于containsValue

-containsKey是否包含某一个Key

containsValue是否包含某一个值

-get根据Key获取相应的值

-put增加新的K-V对

-remove 删除某一个K-V对;size返回数据大小

HashMap

-K-V对,K和V允许为null

-不同步,多线程不安全

JCF中的工具类

Arrays

-Arrays:处理对象是数组

-排序:对数组排序, sort/parallelSort(二分法查找)

-查找:从数组中查找一个元素, binarySearch

-批量拷贝:从源数组批量复制元素到目标数组, copyOf

-批量赋值:对数组进行批量赋值, fill

-等价性比较:判定两个数组内容是否相同, equal

Collections

-Collections:处理对象是Collection及其子类

-排序:对List进行排序,sort

-搜索:从List中搜索元素,binarySearch

-批量赋值:对List批量赋值,fill。

-最大、最小:查找集合中最大/小值,max,min

-反序:将List反序排列,reverse

Compareable接口(只有一个conpareT

·>返回1,==返回0,<返回-1

posted @ 2021-03-09 13:01  创造bug的夫  阅读(41)  评论(0编辑  收藏  举报