2022.4.26 集合 Collection工具类 集合总结

Collection工具类

概念:集合工具类,定义了除了存取以外的集合常用方法

 public static void reverse(List<?> list)//反转集合中元素的顺序public static void shuffle(List<?> list)//随机重置集合元素的顺序public static void sort(List<T> list)//升序排序(元素类型必须实现Comparable接口)

直接二分查找int i = Collections.binarySearch(list, x); 成功返回索引

 1 package com.xing.collection;
 2  3  import javafx.print.Collation;
 4  5  import java.util.*;
 6  7  public class Demo03 {
 8      public static void main(String[] args) {
 9          List<Integer> list = new ArrayList<>();
10          list.add(12);
11          list.add(8);
12          list.add(2);
13          list.add(15);
14 15          //从小到大排序sort
16          Collections.sort(list);
17          System.out.println(list.toString());//[2, 8, 12, 15]
18 19          //基于以上排序后的序列,binarySearch二分查找   返回值为int   没找到返回负值
20          int i = Collections.binarySearch(list, 12);//8的下标为2  在list集合中查找8这个元素
21          System.out.println(i);//8的下标为1
22 23          //基于以上序列,复制copy
24          List<Integer> list1 = new ArrayList<>();
25          for (int j = 0; j < list.size(); j++) {//保证list1元素个数与list元素个数一致
26              list1.add(0);
27          }
28          Collections.copy(list1,list);//将list中的值复制到list1中,但是两个集合大小必须一致(元素个数)
29          System.out.println(list1.toString());//[2, 8, 12, 15]
30 31          //反转reverse,基于以上序列
32          Collections.reverse(list);
33          System.out.println(list);//[15, 12, 8, 2]
34 35          //重新打乱集合shuffle
36          Collections.shuffle(list);
37          System.out.println(list);
38 39          //list转成数组toArray
40          Integer[] arr = list.toArray(new Integer[0]);//数组长度随便写   超过数组长度补null
41          System.out.println(Arrays.toString(arr));//数组打印方法
42 43          //数组转集合 ,集合是受限集合,不能删除添加元素
44          String[] arr1 = {"haha", "nihao", "heihie"};
45          List<String> strings = Arrays.asList(arr1);
46          //strings.add("haha"); 报错
47          System.out.println(strings.toString());
48          
49          //基本数据类型转成集合必须变为包装类
50 51      }
52  }

总结:

 

 

posted @ 2022-04-29 15:36  暴躁C语言  阅读(79)  评论(0)    收藏  举报