ArrayListE,SetE和项目

ArrayList,Set

1. ArrayList 重点
调用无参数构造方法,创建ArrayList对象,底层保存数据的Object类型数组容量是多少???
	初始化容量为10 ,因为在ArrayList中,有一个私有的静态修饰final成员变量,
	private static final DEFAULT_CAPACITY = 10;
	这里使用DEFAULT_CAPACITY 作为Object类型数组初始化容量!!!

ArrayList的最大特征:
	增删慢
	查找快
	
增加慢:
	1. 涉及到扩容数组时!!!这里存在数据拷贝过程,比较浪费时间
	2. 在指定位置插入数据时,会导致从插入位置开始之后的数据,整体右移

删除慢:
	1. 删除指定位置下标的元素,需要从删除位置开始,之后元素整体左移

查找快: [底层原理,难]

[外链图片转存失败(img-7n0xMq9T-1569487430952)(.\img\内存地址分析.png)]

ArrayList适应范围:
	对于数据操作查询情况非常多,但是增删情况很少的,可以操作ArrayList
	例如:
		图书馆,人力管理系统
2. LinkedList
链表!!!
特征: 增删块,查找慢
特殊方法:
	boolean addFirst(E e);
	boolean addLast(E e); ==>  boolean add(E e);
	E getFirst();
	E getLast();
	removeFirst();
	removeLast();

队列:
	排队,先进先出
	addLast(); getFirst(); removeFirst();
堆栈:
	弹夹,先进后出
	addLast(); getLast(); removeLast();
3. Object
Object是Java中的基类!!!
    toString() 没用
    boolean equals(Object obj); 比较两个对象是否相同
    int hashCode();  获取当前对象的唯一标识号
        hashCode没有被重写的情况下,是当前对象在内存空间首地址的十进制展示方式!!!

    Java规定如果两个对象equals返回true,那么这两个对象的hashCode码必须一致。
4.Set接口
也是一个集合接口,是Collection接口的子接口!!!
特征: 
	无序,不可重复
	无序: 添加顺序和保存顺序不一致
	不可重复,不能实现相同的对象

Set不存在特殊方法。使用Collection方法就OK的!
--| HashSet 底层是一个哈希表,存储效率极高!!!
--| TreeSet 底层是一个树形结构,要求所有保存的数据表现存在比较规则!!!

率极高!!!
–| TreeSet 底层是一个树形结构,要求所有保存的数据表现存在比较规则!!!
























  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值