list、set、map、泛型、Collections工具类

 前言

什么是集合?

对象的容器,实现类对对象常用的操作

 和数组的区别

1.数组长度固定,集合长度不固定

2.数组可以存储基本类型和引用类型,集合只能存储引用类型

 一、Collection父接口

 二、List子接口

2.1 List

 2.2 LinkList

双向链表结构实现,无序连续空间,增删快,查询慢

 2.3 Vector

数据结构实现,查询快,增删慢

jdk1.0版本,运行效率慢,线程安全

2.4 ArrayList

 三、Set集合

特点:无序,无下标,元素不可重复

方法:全部继承自Collection中的方法

增、删、遍历、判断与Collection一致

3.1 HashSet

 存储结构:哈希表(数组+链表+红黑树)

存储过程(重复依据):

        1.根据hashCode计算保存的位置,如果位置为空,直接保存,若不为空,进行第二步

        2.再执行equals方法,如果equals为true,则认为是重复,否则形成链表

特点:

        基于HashCode计算元素存放位置

                1.利用31这个质数,减少散列冲突

                        31提高执行效率 31 * i = (i  << 5)- i转为移位操作

                2.当元素的哈希码相同时,会调用equals进行确认,如果结果为true,则拒绝后者存入

新建集合: Hash<String> hashSet = new HashSet<String>();

添加元素:hashSet.add();

删除元素:hashSet.remove();

 3.2 TreeSet

四、Map

 

 4.1 TreeMap

4.2 HashMap   

五、泛型

5.1 泛型类

5.2 泛型接口

 语法:接口名     注意:不能泛型静态常量

5.3 泛型方法

六、Collections工具类

概念:集合工具类,定义了除了存取以外的集合常用方法

直接二分查找 int i = collections.binarSearch(list,x) ;成功返回索引

其他方法:copy复制,reverse反转,shuffle打乱

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值