集合中的Collections类

概述:与Collection接口不同的是,Collection接口是集合中的一个顶级接口;而Collections是集合中的工具类,主要包含对集合的各种操作,可直接通过Collections调用

1.addAll(Collections<? super T> c,T...elements)  只服务于单列集合的一种方法,增加元素于集合的末尾

T...elements是定义可变参数的一种语法,本质相当于一个数组,可以传进多个T型参数,适用于不知道需要传入多少个参数时,一个参数列表只能有一个,且必须放在参数列表最末尾。

import java.util.*;

public class CollectionsDome {
    public static void main(String[] args) {
        List<Integer> list=new ArrayList<>();
        Collections.addAll(list,4,2,3,1,5,1);
        System.out.println(list);
       
    }
}

2.sort()方法      对集合中的元素进行一个排序

import java.util.*;

public class CollectionsDome {
    public static void main(String[] args) {
        List<Integer> list=new ArrayList<>();
        Collections.addAll(list,4,2,3,1,5,1);
        System.out.println(list);
        List<Integer> list1=new ArrayList<>();
        Collections.sort(list);
        //对集合进行一个排序
        System.out.println(list);
       
    }
}

也通过定义一个匿名的内部类可以自定义一种排序方式

import java.util.*;

public class CollectionsDome {
    public static void main(String[] args) {
        List<Integer> list=new ArrayList<>();
        Collections.addAll(list,4,2,3,1,5,1);
        System.out.println(list);
        List<Integer> list1=new ArrayList<>();   
        //也可以自定义一种排序规则,定义一个匿名的内部类
        Collections.sort(list, new Comparator<Integer>() {
            @Override
            public int compare(Integer o1, Integer o2) {
                return o1-o2;
                //逆序排列集合中的元素
            }
        });
        System.out.println(list);
        
    }
}

3.swap()方法  将下标为不同的两个位置进行互换

import java.util.*;

public class CollectionsDome {
    public static void main(String[] args) {
        List<Integer> list=new ArrayList<>();
        Collections.addAll(list,4,2,3,1,5,1);
        System.out.println(list);
        List<Integer> list1=new ArrayList<>();       
        Collections.swap(list,0,3);
        //将集合中第0个位置和第三个位置处元素交换
        System.out.println(list);
    }
}

4.binarysearch()方法   二分查找的前提是集合中的元素是有序的

import java.util.*;

public class CollectionsDome {
    public static void main(String[] args) {
        List<Integer> list=new ArrayList<>();
        Collections.addAll(list,4,2,3,1,5,1);
        System.out.println(list);
        List<Integer> list1=new ArrayList<>();       
        System.out.println(Collections.binarySearch(list, 4));
        //二分查找时,集合中的元素一定是按顺序排列。否则返回值为负       
        System.out.println(list);
    }
}

5.copy(list1,list2)  将list2的元素复制到list1中,依次替换掉list1中原来的元素

import java.util.*;

public class CollectionsDome {
    public static void main(String[] args) {
        List<Integer> list1=new ArrayList<>();
        Collections.addAll(list1,4,2,3,1,5,1);
        System.out.println(list1);
        List<Integer> list2=new ArrayList<>();
        list2.add(6);
        list2.add(9);       
        System.out.println(list1);
        Collections.copy(list1,list2);
        System.out.println(list1);
    }
}
//输出结果
[3, 1, 2, 1, 4, 5]
[6, 9, 2, 1, 4, 5]

6.emptyLIst()方法  返回一个空集合,但集合并无法使用,无法添加元素,作用为避免在判断上出现空集合

package collections类;

import java.util.*;
import java.util.concurrent.CopyOnWriteArrayList;

public class CollectionsDome {
    public static void main(String[] args) {   
        List<Integer> list3=Collections.emptyList();
//避免在判断上出现空指针
        System.out.println(list3);
    }
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值