欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

collection

程序员文章站 2022-05-23 14:18:06
...

collection

L i s t

1.List集合子类方法

Array List只依赖equals()方法

collection

2.Linklist中addfirst(),removefirst(),isempty()

collection

S e t

collection
Set无重复 数组有重复

1. |-----hashset

注:
hashset若想有序输出 :
collection
注:Set集合不允许有重复元素,方法与collection相同,set方法取出元素只有一个:迭代器

哈希表结构

Set中Hashset( ) 【自动去重,无序输出】
collection

运算规则:

   (哈希算法)堆结构底层算法,必须通过哈希算法算出该对象在哈希结构中的地址

collection
collection

使用举例:图书馆藏书《Java》包含多本图书,将书名与作者值相加存入哈希表

哈希冲突;
collection
采用连接方式:
collection
collection

不同结构依赖方法一定不同
collection

注:

New 一个新对象哈希值不同 (new出地址不同重新调用hashcode())
例如:set.add(new student(“lin”,12));
collection

1.重写hashcode()

2.若hashcode()判断结果相同,判断equals()(防止了哈希值的冲突)

collectioncollection

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)

collection

可简化为:(按年龄排序)

collection
注:
This.name.compareto()的方法为string中的方法,重写的方法为student中方法

Treeset中的比较器

collection
例:(按姓名排序)
collection

元素自身具有比较性,若想降低比较耦合性,可自定义一个比较器接口,容器使用该接口对元素进行排序后,容器中所有元素排序遵循比较器比较模式

collection

相关标签: collection