集合框架

Collection集合

特点:

1.用于存储对象的容器

2.集合的长度可变

3.集合中不可以存储基本数据类型值(只存对象)


Collection主要使用到的集合  1、LIST集合  

                                                     2、Set集合


List集合

1、Vector :增删改都比较慢,但是同步,多线程安全性高些

2、ArrayList:查询速度快,不同步

3、LinkedList:增删元素快,不同步 (元素与元素之间存的都是下一个元素的地址)


堆栈:先进后出 FILO


队列:先进先出 FIFO


Set集合(元素不可以重复)

1、HashSet  不保证顺序恒久不变

     LinkedHashSet 可预知迭代顺序

2、TreeSet  使用元素的自然顺序对元素进行排序,或者根据创建 set 时提供的 Comparator 进行排序,具体取决于使用的构造方法。

         TreeSet方法不使用hashCode和equals方法来比较元素是否相同

而是1、实现comparable接口,来覆盖compareTo方法

    2、如果不要按照对象中具备的自然顺序进行排序,对象不具备自然顺序怎么办?

可以使用TreeSet集合第二种排序方式。

让集合自身具备比较功能。

使用比较器Comparator  定义一个类实现Comparator接口,覆盖compare方法。

将该类对象作为参数传递给TreeSet


import java.util.Comparator;


public class ComparatorByLength implements Comparator {


@Override
public int compare(Object o1, Object o2) {
String s1=(String)o1;
String s2=(String)o2;

//按照字符串的长度来排序
int temp=s1.length()-s2.length();

//如果字符串长度相同,那么就比较两个字符串的字母顺序,如果不相同,那就返回temp,正数那就是前者长于后者,负数反之。
return temp==0?s1.compareTo(s2):temp;
}


}

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值