javaSE进阶练习——常用单列集合(Collection)练习

本文介绍了Java中常见的三种集合ArrayList、HashSet和TreeSet的特性和应用场景。ArrayList作为默认集合,适合索引查询,插入删除操作较慢;HashSet用于去重,无序无索引,性能较好;TreeSet则可以按指定规则排序,支持自定义排序方式。文中通过代码示例展示了如何使用HashSet去重和TreeSet进行降序排序的操作过程。
摘要由CSDN通过智能技术生成

1.Collection常用集合简介

         单列集合包括list系列和set系列,list系列集合特点是有序、重复、有索引,set系列集合特点是无、不重复、无索引,其中list又分ArrayList和LinkedList,set又分Hashset和TreeSet,Hasheset还分linkedHashSet。
         虽然单列集合有很多,但目前常用的有三种,一般默认使用ArrayList集合,使用HashSet去重,和TreeSet指定排序。arraylist底层为数组,因此根据索引地址查询快,有序,但增删慢,HashSet是基于哈希表,增删改查均较好,但元素不重复,无序无索引,而TreeSet是基于红黑树,增删查性能较好,不重复,无索引,但可指定排序方式。指定排序方式有两种,一种为自定义类中重写compareTo方法,一种为在treeset有参构造器中设置实现comparator接口对象。以下实例中运用的第二种方式。

2.应用实例
         默认使用ArrayList集合存入几组数据,并使用HashSet去重,和TreeSet指定从大到小排序。

详细代码如下:

public class CollectionTest {
    public static void main(String[] args) {
        ArrayList<Integer> list=new ArrayList<>();
        list.add(1);//自动装箱
        list.add(1);//自动装箱
        list.add(1);//自动装箱
        list.add(3);//自动装箱
        list.add(5);//自动装箱
        list.add(2);//自动装箱
        System.out.println("ArrayList集合:");
        System.out.println(list);
//        1.利用HashSet去重
        HashSet<Integer> hs=new HashSet<>();
        hs.addAll(list);
        System.out.println("去重后HashSet集合:");
        System.out.println(hs);
//        2.利用TreeSet排序,从大到小
        TreeSet<Integer> ts=new TreeSet<>((o1,o2) ->
//                o1为需要存的元素,o2为在树中元素
                o2-o1//o2>o1, o1元素存右边,<0(o2>o1)o1元素存左边
 );
        ts.addAll(hs);
        System.out.println("定义从大到小排序后TreeSet集合:");
        System.out.println(ts);
    }
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值