collection
L i s t
1.List集合子类方法
Array List只依赖equals()方法
2.Linklist中addfirst(),removefirst(),isempty()
S e t
Set无重复 数组有重复
1. |-----hashset
注:
hashset若想有序输出 :
注:Set集合不允许有重复元素,方法与collection相同,set方法取出元素只有一个:迭代器
哈希表结构
Set中Hashset( ) 【自动去重,无序输出】
运算规则:
(哈希算法)堆结构底层算法,必须通过哈希算法算出该对象在哈希结构中的地址
使用举例:图书馆藏书《Java》包含多本图书,将书名与作者值相加存入哈希表
哈希冲突;
采用连接方式:
不同结构依赖方法一定不同
注:
New 一个新对象哈希值不同 (new出地址不同重新调用hashcode())
例如:set.add(new student(“lin”,12));
1.重写hashcode()
2.若hashcode()判断结果相同,判断equals()(防止了哈希值的冲突)
T r e e s e t
注:两种排序方式:1.元素实现compare able接口,覆盖compareto方法(传递一个参数)2.构造比较器 (两个参数),比较器更为灵活
treeset与hashset无任何关系,treeset可实现排序,自然排序为元素默认排序,必要时需定义比较方法,否则无法完成排序(如:排序学生信息中有年龄和姓名,若不定义是按姓名排序还是按年龄排序系统会给出compare错误)
比较add方法中用的是comparable方法 (compareto方法,返回正数负数,当两值相等时=0)
比较==,equals,compareto:
=:比较地址,new一个新对象时内容相同仍返回false,数值时相等(int a=1,int b=1,a=b)
Equals:比较具体内容
Compareto:按字典顺序比较,返回值类型为int,相等时返回0
, a.compareto(b)
可简化为:(按年龄排序)
注:
This.name.compareto()的方法为string中的方法,重写的方法为student中方法
Treeset中的比较器
例:(按姓名排序)
元素自身具有比较性,若想降低比较耦合性,可自定义一个比较器接口,容器使用该接口对元素进行排序后,容器中所有元素排序遵循比较器比较模式
上一篇: Mark a mistake(一)
下一篇: 用几张图捋完集合的继承实现关系
推荐阅读
-
java Collection 之List学习介绍
-
java Collection 之Set使用说明
-
详解java8在Collection中新增加的方法removeIf
-
Collection相关面试题(含答案)
-
详解java8在Collection中新增加的方法removeIf
-
java Collection 之Set使用说明
-
java Collection 之List学习介绍
-
java语法ArrayList、LinkedList、HashSet、HashMap、HashTable、Collection、Collections详解
-
java中集合(LinkedList、HashSet、HashMap、HashTable、Collection、Collections)
-
nik collection怎么安装?Google Nik Collection安装破解图文详细教程