集合与泛型

在这里插入图片描述
集合与泛型
1.List集合
1.数据有序,不唯一
2.ArrayList集合:实现长度可变数组,在内存中分配连续储存空间,遍历元素和随机访问元素效率高;
3.LinkedList集合:采用链表储存方式,插入删除数据效率较高;
添加元素为add()方法;

2.set集合
1.数据无序,唯一
2.HashSet集合
3.TreeSet集合
录入重复数据时会将原来的数据覆盖,采用的时hashcode()和equals()方法,保证录入数据的唯一性;添加数据为add()方法;

自定义对象排序:
	1.封装类中实现Comparable接口传入参数为该封装类;
	2.实现接口
	3.自定义接口中的排列顺序,如:
		int num=this.age-o.age;
		int num2=num==0?this.name.compareTo(o.name):num;
		return num2;
		上述为当年龄相同时按名字排序,字符串比较输出数值为compareTo();

3.Map集合
1.储存一对键值对象
2.HashMap集合
3.TreeMap集合
添加数据为put()方法;
HashMap集合中存储的是地址,地址相对应的值存于堆栈中,该集合采用数组链表联合使用,将键值转化为hash值,对数组长度取余数,得到下标,当下标重复时则该下标位置的地址变为链表的首地址;
put(key,value){
int hashcode=key.hashcode();取键的哈希值
int index=hashcode%table.length;取余得下标
table[index]=new Entry(key,value,table[index]);将该位置的下标替换为一个新建的Entry对象(放入key和value,并插入table[index]的位置(首位置),将后面的数据挤下去,保证每次插入都是第一个位置)

}

4.泛型
1.List list=new ArrayList(){基本格式}
2.定义的泛型,后就限定了集合的适用对象,可以不用强转直接使用;

2020年6月28日

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值