栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

collection和collections区别

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

collection和collections区别

区别

Collection它是一个集合的接口。它提供了对集合对象进行基本操作的通用接口方法。Collection接口在java类库当中有很多具体的实现。
Collection接口的意义就是为各种具体的集合提供最大化的统一操作方式。
主要实现的Collection接口的类有:Set、List、Queue

Coleections它是一个包装类。它包含了各种有关集合操作的静态多态方法。这个类是不能喝实例化的,就像Arrays类一样,是一个工具类,服务于Java当中的Collection框架

Collections中常用的属性

addAll(Collection c, T… elements)
将所有指定的元素添加到指定的集合。
一次性可以给集合添加多个元素

T… elements表示一次可以添加多个不定量的元素

import java.util.ArrayList;
import java.util.Collections;

public class Demo01 {
    public static void main(String[] args) {
        ArrayList list = new ArrayList<>();
        list.add("start");
        Collections.addAll(list,"Xin","Chen","Yu","Chen","Xi");
        System.out.println(list);
    }
}

sort(List< T > list)
对指定的列表进行排序。(升序排序)

sort(List l ist, Comparator c)
根据指定的比较器引起的顺序对指定的列表进行排序。

binarySearch(List> list, T key)
使用二叉搜索算法搜索指定对象的指定列表,所以在使用这个方法的时候,一定呀提前给集合排好序

import java.util.ArrayList;
import java.util.Collections;
import java.util.Comparator;

public class Demo02 {
    public static void main(String[] args) {
        ArrayList list = new ArrayList<>();
        list.add(4);
        //调用Collections方法一次给指定集合添加多个元素
        Collections.addAll(list, 2, 5, 3, 1);
        System.out.println("初始默认的集合为:" + list);
        Collections.sort(list);
        System.out.println("使用sort()对集合进行排序" + list);
        System.out.println("查找集合当中指定元素的索引(3)位置:"
                + Collections.binarySearch(list, 3));

        //sort(List list, Comparator c) 根据自己的定义去给集合进行排序
        Collections.sort(list, new Comparator() {
            @Override
            public int compare(Integer o1, Integer o2) {
                return o2 - o1;
            }
        });
        System.out.println("使用sort()方法加上自己定义(从大到小)排序的" +
                "方式对集合进行排序" + list);
    }
}

swap(List list, int i, int j)
交换指定列表中指定位置的元素。

copy(List dest, List src)
将所有元素从一个src复制到另一个列表dest中。
在这里要注意到dest当中元素的数量必须大于等于src中数据的数量

import java.util.ArrayList;
import java.util.Collections;

public class Demo03 {
    public static void main(String[] args) {
        ArrayList list = new ArrayList<>();
        list.add(4);
        //调用Collections方法一次给指定集合添加多个元素
        Collections.addAll(list, 2, 5, 3, 1);
        System.out.println("list初始默认的集合为:" + list);
        Collections.swap(list, 0, 3);
        System.out.println("将list当中索引为0和3位置的元素互到之后为:" + list);

        //创建了一个新的集合
        ArrayList list1 = new ArrayList<>();
        //给新集合添加了5个元素,因为我们想加个list中的元素复制到list1集合当中去
        //所以list1中元素的数量必须大于等于list中的元素数量
        Collections.addAll(list1, 100, 101, 102, 103, 104);
        System.out.println("list1中原始数据:" + list1);
        Collections.copy(list1, list);
        System.out.println("经过copy方法,把list的元素覆盖到list1中的元素:" + list1);
    }
}

emptyList()
返回为空的集合,是不能添加数据
若是添加会报异常的
它返回的是一个空集合,不能使用的,我们用于在判断的时候若是需要一个空集合就会调用这个得到一个空集合

max(Collection coll)
根据其元素的 自然顺序返回给定集合的最大元素。
max(Collection coll, Comparator comp)
根据指定的比较器引发的顺序返回给定集合的最大元素。

min(Collection coll)
根据其元素的 自然顺序返回给定集合的最小元素
min(Collection coll, Comparator comp)
根据指定的比较器引发的顺序返回给定集合的最小元素。

max和min就不再这做过多演示,很简单滴


fill(List list, T obj)
用指定的元素代替指定列表的所有元素。

replaceAll(List list, T oldVal, T newVal)
将列表中一个指定值的所有出现替换为另一个。

reverse(List list)
反转指定列表中元素的顺序

import java.util.ArrayList;
import java.util.Collections;

public class Demo05 {
    public static void main(String[] args) {
        ArrayList list = new ArrayList<>();
        Collections.addAll(list, "Xin", "Chen", "Yu", "Chen", "Xi");
        System.out.println("原集合当中的数据为:" + list);

        //reverse()方法反转集合当中所有的元素
        Collections.reverse(list);
        System.out.println("reverse()方法反转所有的元素后集合数据为:" + list);

        //replaceAll()方法将指定集合当中的指定的所有元素替换为一个新的元素
        Collections.replaceAll(list, "Xin", "Niu");
        System.out.println("replaceAll()方法替换集合当中的指定元素" + list);

        //fill()方法将集合当中的所有元素替换为指定元素
        Collections.fill(list, "牛");
        System.out.println("fill()方法替换集合当中的所有元素:" + list);
    }
}

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/921324.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号