java集合的一些相关知识

TreeSet
1.向TreeSet中添加元素必须是同一个类。
2.可以按照添加进来的元素的指定的顺序遍历。像String
3.向TreeSet添加自定义的对象时有2种排序方法:1.自然排序,2.定制排序
4.自定义的类必须实现java.lang.Comparable接口的compareTo(Object object)方法,在方法中指定用哪个属性排序。
5.向TreeSet中添加元素时,首先按照compareTo()进行比较,一旦返回0,虽然两个对象的此属性相同,但是TreeSet会认为这两个对象完全相同。所以说自己写的compareTo要考虑这些情况,再比较属性相同时要继续比较其他属性。
6.实现定制排序。

里插入图片描述

在这里插入图片描述

Hashmap
1.key是用set存的是不可重复的。Value使用list存的,是可重复的。
2.向hashmap插入对象时,会调用对象的equals方法,判断两个key是否相同,相同则后面的覆盖前面的。
3.遍历所有的key 使用keyset (set)
4.遍历所有的value 使用values (list)
5.遍历所有的entry 使用entryset (set)

值得注意的一点是Map的key其实是用set的存的。所以linkedhashmap和treemap的原理其实和linkedhashset和treeset差不多。

Hashtable

1.hashtable是线程安全的。
2.Hashtable不允许使用null作为key和value
3.与hashmap一样,hashtable也无法保证顺序。
4.Hashtable判断两个key,value相等的标准和hashmap相同。

Properties是hashtable的子类
1.用来处理属性文件,键和值都是String类型的。

最后加上几个关于集合的面试题
1.collection框架实现比较要实现什么接口
2.Arraylist和vector的区别
3.Hashmap和hashtable的区别
4.List和map的区别
5.Collection和collections的区别

1.实现comparable/comparator
2.Arraylist是线程不安全的,vector是线程安全的。Arraylist扩容是扩1.5,vector是2
3.Hashmap是线程不安全的,hashtable是线程安全的。Hashmap允许null作为key和value但是hashtable不允许。
4.list是连续存储,有顺序的,map是无序的。Map存储的是key-value,而list是单个值。Map不允许重复(key),list可以重复。
5.Collection是一个接口,collections是一个工具类,操作集合的。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值