Collections和Collection的区别

1.区别:

>Collections则是集合类的一个工具类/帮助类,其中提供了一系列静态方法,用于对集合中元素进行排序、搜索以及线程安全等各种操作。

>Collection 是各种集合接口的父接口,继承它的接口主要有Set和List,提供了关于集合的一些操作,如删除,插入,判断一个元素是否是其成员,遍历等。

 

Collection 接口常用的方法

  1. size():返回集合中元素的个数
  2. add(Object obj):向集合中添加一个元素
  3. addAll(Colletion coll):将形参coll包含的所有元素添加到当前集合中
  4. isEmpty():判断这个集合是否为空
  5. clear():清空集合元素
  6. contains(Object obj):判断集合中是否包含指定的obj元素
    ① 判断的依据:根据元素所在类的equals()方法进行判断
    ②明确:如果存入集合中的元素是自定义的类对象,要去:自定义类要重写equals()方法
  7. constainsAll(Collection coll):判断当前集合中是否包含coll的所有元素
  8. rentainAll(Collection coll):求当前集合与coll的共有集合,返回给当前集合
  9. remove(Object obj):删除集合中obj元素,若删除成功,返回ture否则
  10. removeAll(Collection coll):从当前集合中删除包含coll的元素
  11. equals(Object obj):判断集合中的所有元素 是否相同
  12. hashCode():返回集合的哈希值
  13. toArray(T[] a):将集合转化为数组
    ①如有参数,返回数组的运行时类型与指定数组的运行时类型相同。
  14. iterator():返回一个Iterator接口实现类的对象,进而实现集合的遍历。
  15. 数组转换为集合:Arrays.asList(数组)

2.Collections方法:

>排序(sort):以根据元素的自然顺序 对指定列表按升序进行排序。列表中的所有元素都必须实现 Comparable接口。

ublic class Testlist1 {
    public static void main(String[] args) {
        List<Integer> list=new ArrayList<Integer>();
        list.add(14);
        list.add(16);
        list.add(19);
        list.add(15);
        System.out.println(list);
                System.out.println("排序后:");
                Collections.sort(list);      //对指定列表按升序排列
        System.out.println(list);
    }
}
运行结果:

[14, 16, 19, 15]
排序后:
[14, 15, 16, 19]
>逆序(reverse)

public static void main(String[] args) {
        List<Integer> list=new ArrayList<Integer>();
        list.add(14);
        list.add(16);
        list.add(19);
        list.add(15);
        System.out.println(list);
        System.out.println("逆序后:");
        Collections.reverse(list);
        System.out.println(list);
    }
运行结果:

[14, 16, 19, 15]
逆序后:
[15, 19, 16, 14]
>最值(max,min)

public static void main(String[] args) {
        List<Integer> list=new ArrayList<Integer>();
        list.add(14);
        list.add(16);
        list.add(19);
        list.add(15);
        System.out.println(list);
        System.out.println("最大值为:");
        System.out.println(Collections.max(list));
        System.out.println("最小值为:");
        System.out.println(Collections.min(list));
    }
运行结果:

[14, 16, 19, 15]
最大值为:
19
最小值为:
14
>替换(Fill)

public static void main(String[] args) {
        List<Integer> list=new ArrayList<Integer>();
        list.add(14);
        list.add(16);
        list.add(19);
        list.add(15);
                System.out.println("替换前:");
                System.out.println(list);
                System.out.println("替换后:");
                Collections.fill(list, 12);
        System.out.println(list);
    }
运行结果:

替换前:
[14, 16, 19, 15]
替换后:
[12, 12, 12, 12]
>拷贝(copy):将源数组数据复制到目标数组

public static void main(String[] args) {
        List<Integer> list=new ArrayList<Integer>();
        List<Integer> list1=new ArrayList<Integer>(Arrays.asList(new Integer[list.size()]));   //list1是目标数组
        list.add(14);
        list.add(16);
        list.add(19);
        list.add(15);
                System.out.println("拷贝前:");
                System.out.println(list);
                System.out.println("拷贝后:");
                Collections.copy(list, list1);
        for(Integer i:list) {
        System.out.println(i);
    }
}
运行结果
拷贝前:
[14, 16, 19, 15]
拷贝后:
14
16
19
15
>binarySearch(二分查找):查找指定集合中的元素,返回查找元素的索引。

    public static void main(String[] args) {
        List<Integer> list=new ArrayList<Integer>();
        list.add(14);
        list.add(16);
        list.add(17);
        list.add(18);
        list.add(20);
        System.out.println(list);
        System.out.println(Collections.binarySearch(list, 18));
}
运行结果:

[14, 16, 17, 18, 20]
3
>replaceAll:替换指定集合的指定元素

public static void main(String[] args) {
        List<Integer> list=new ArrayList<Integer>();
        list.add(14);
        list.add(16);
        list.add(17);
        list.add(18);
        list.add(20);
        System.out.println("替换前:");
        System.out.println(list);
        System.out.println("替换后:");
        Collections.replaceAll(list, 17, 88);
        System.out.println(list);
}
运行结果:

替换前:
[14, 16, 17, 18, 20]
替换后:
[14, 16, 88, 18, 20]
>swap(List list,int a,int b):交换指定集合中元素索引的位置;

public static void main(String[] args) {
        List<Integer> list=new ArrayList<Integer>();
        list.add(14);
        list.add(16);
        list.add(17);
        list.add(18);
        list.add(20);
        System.out.println("交换前:");
        System.out.println(list);
        System.out.println("交换后:");
        Collections.swap(list, 0,4);
        System.out.println(list);
}
运行结果:

交换前:
[14, 16, 17, 18, 20]
交换后:
[20, 16, 17, 18, 14]
>
————————————————
https://blog.youkuaiyun.com/qq_41889292/article/details/79888930

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值