Collections类的几个方法及数组集合转换

package CollectionsTest;

import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collections;
import java.util.List;

public class collectionsTest {
    public static void main(String[] args) {
        ArrayList<Integer> a =new ArrayList<>();
        a.add(40);
        a.add(30);
        a.add(10);
        a.add(50);
        a.add(20);

        ArrayList<String> s =new ArrayList<>();
        s.add("awd");
        s.add("aw");
        s.add("a");
        s.add("b");
        s.add("adc");
        s.add("vef");
        s.add("awadwadawdfaf");

        //sort排序
        System.out.println("1.  "+"排序之前:"+s);
        Collections.sort(s);
        System.out.println("2.  "+"排序之后:"+s);
        System.out.println("3.  "+"排序之前:"+a);
        Collections.sort(a);
        System.out.println("4.  "+"排序之后:"+a);

        //binarySearch二分查找
        System.out.println("5.  "+Collections.binarySearch(a, 330));
        System.out.println("6.  "+Collections.binarySearch(a, 20));

        //copy复制
        //这个方法设置的并不好,需要两个集合的长度一致。
        ArrayList<Integer> a2 =new ArrayList<>();
        //需要先将让a2的长度与变得与a一样
        for (int i = 0; i < a.size(); i++) {
            a2.add(0);
        }
        Collections.copy(a2,a);
        System.out.println("7.  "+a2);

        //reverse反转
        Collections.reverse(a);
        System.out.println("8.  "+a);

        //shuffle打乱
        Collections.shuffle(a);
        System.out.println("9.  "+a);

        //集合转成数组
        Integer[] sd =new Integer[10];
        a.toArray(sd);
        System.out.print("10.  ");
        for (Integer i:sd){
            System.out.print(i+"  ");
        }
        System.out.println();
        Integer[] integers = a.toArray(new Integer[0]);//如果数组长度小于集合,会自动增加至集合一样
        System.out.println("11.  "+integers.length);
        System.out.println("12.  "+Arrays.toString(integers));

        //数组转成集合
        //转成的集合是一个受限集合,不能添加和删除元素
        String [] names ={"棋棋","瑶瑶","杨杨"};
        List<String> strings = Arrays.asList(names);
        System.out.println("13.  "+strings);

        //把基本类型数组转为集合的时候,需要修改为包装类
        int[] i ={31,564,65,64,5646,5465};
        List<int[]> ints1 = Arrays.asList(i);
        System.out.println("14.  "+ints1);
        Integer[] i1 ={10,35,54,864,64};
        List<Integer> ints = Arrays.asList(i1);
        System.out.println("15.  "+ints);
    }
}

输出结果:

1.  排序之前:[awd, aw, a, b, adc, vef, awadwadawdfaf]
2.  排序之后:[a, adc, aw, awadwadawdfaf, awd, b, vef]
3.  排序之前:[40, 30, 10, 50, 20]
4.  排序之后:[10, 20, 30, 40, 50]
5.  -6
6.  1
7.  [10, 20, 30, 40, 50]
8.  [50, 40, 30, 20, 10]
9.  [20, 10, 30, 40, 50]
10.  20  10  30  40  50  null  null  null  null  null  
11.  5
12.  [20, 10, 30, 40, 50]
13.  [棋棋, 瑶瑶, 杨杨]
14.  [[I@3d494fbf]
15.  [10, 35, 54, 864, 64]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值