Java中collection常用方法详解

Java中collection常用方法详解

北大青鸟长沙麓谷校区      2022-05-01 07:14:02     22

Java中collection常用方法详解,Collection方法接口介绍Collection接口有3种子类型集合:List、Set和Queue,再下面是一些抽象类,最后是具体实现类,常用的有Arra

课程价格 请咨询

上课时段: 授课校区:

详细介绍

Collection方法接口介绍

Collection接口有3种子类型集合:List、Set和Queue,再下面是一些抽象类,最后是具体实现类,常用的有ArrayList、linkedList、HashSet、linkedHashSet、ArrayBlockingQueue等,下面是Collection的所有方法。

这些方法即可以操作Set集合,也可以操作Queue和List集合,下面分别使用Collection集合接口的方法说明

下面是主要方法的演示:  

@Test    @SuppressWarnings("all")    public void testCollection() {        // 创建Collection接口的实现        Collection collection = new ArrayList<>();        // 添加元素        collection.add("嘻嘻");        String src = "????";        collection.add(src);        System.out.println(collection);        // 创建Collection的实现        Collection coll = new HashSet<>();        coll.add("?");        coll.add("?");        coll.add("?");        System.out.println(coll);        // 添加一个集合数据        collection.addAll(coll);        // 输出集合的长度        System.out.println(collection);        // 判断是否包含        System.out.println(collection.contains("?"));        // 移除元素        collection.remove("?");        // 添加对象        collection.add(new Person("张三", 23, 5000d));        // 当认为两个对象属性一致,相等时候,需重写hashCode 和 equals方法        System.out.println(collection.contains(new Person("张三", 23, 5000d)));        System.out.println("-------");        collection.add(null);            Collection collection1 = new ArrayList<>();        collection1.add("嘻嘻");        collection1.add("?");        // 求两个集合的交集(只保留collection1存在的元素)        collection.retainAll(collection1);        System.out.println(collection);        // 清空元素        collection.clear();        System.out.println(collection);    }

java8新特性操作集合

使用lambda表达式遍历集合

java8为Collection的父接口(Iterable)提供了一个默认的Foreach方法,我们可以使用它进行集合遍历 

 @Test    public void testForeach() {        Collection collection = new ArrayList<>();        collection.add("i");        collection.add("love");        collection.add("china");        // foreach遍历        collection.forEach(e-> System.out.println(e));        // 可以使用方法引用简写        collection.forEach(System.out::println);        // 或者迭代器的forEachRemaining方法       collection.iterator().forEachRemaining(System.out::println);    }

使用java8的predicate操作集合  

 @Test    public void testPredicate() {        Collection collection = new ArrayList<>();        // 添加0-49        for (int i = 0; i < 50; i++) {            collection.add(i);        }        // 移除10-49的数字        collection.removeIf(e -> (e > 9 && e < 50));        System.out.println(collection);// 输出[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]    }

基于流操作集合

java8之后引入了Stream相关流操作java集合,通过流大大简化了对集合操作

@Test

    public void testIntStream() {        Collection collection = new ArrayList<>();        Random random = new Random();        for (int i = 0; i < 10; i++) {            collection.add(random.nextInt(100));        }        System.out.println(collection);        // collection存储的数值是包装类型,可以将其转换为IntStream        IntStream intStream = collection.stream().mapToInt(e -> e);        // intStream.forEach(System.out::println);        System.out.println(collection.stream().mapToInt(e -> e).sum());        // 输出最大值        collection.stream().mapToInt(e -> e).max().ifPresent(System.out::println);        // 输出最小值        collection.stream().mapToInt(e -> e).min().ifPresent(System.out::println);        // 统计大于50的数        System.out.println(collection.stream().filter(e -> e > 50).count());        // 原集合每一个值加1        collection.stream().mapToInt(e-> e+1).forEach(System.out::println);        // 排序        collection.stream().mapToInt(e-> e).sorted().forEach(System.out::println);        // 原数值每一个元素扩大2倍        int[] ints = collection.stream().mapToInt(e -> e << 1).toArray();        // 输出原数组        System.out.println(Arrays.toString(ints));        // 将数组转流        IntStream stream = Arrays.stream(ints);        // 输出流平均数        System.out.println(stream.average().getAsDouble());    }

以上就是北大青鸟长沙麓谷校区java培训机构的小编针对“Java中collection常用方法详解”的内容进行的回答,希望对大家有所帮助,如有疑问,请在线咨询,有专业老师随时为你服务。

学分高考提醒您:交易时请核实对方资质,对于过大宣传或承诺需谨慎!任何要求预付定金、汇款等方式均存在风险,谨防上当。