首页 > 其他分享 >集合之Collections工具类

集合之Collections工具类

时间:2022-12-12 09:12:34浏览次数:30  
标签:list System arrList println Collections 集合 工具 out

package com.Lucky;

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

/*
     Collections:java。util.Collections
     解析:Collections是集合的工具类,拥有许多处理集合操作的方法

              方法:  addAll();            批量添加数据
                     shuffle()            打乱数据
                     reverse()             反转
                     sort()                 排序
                     binarySearch()     先排序再二分查找
                     swap()                 互换位置
                     copy()                  拷贝数据
                     fill()                  修改数据
                     min/max()             最大值/最小值


 */
public class CollectionsDemo {

    public static void main(String[] args) {
        //创建一个ArrayList集合
        ArrayList<String> arrList=new ArrayList<>();


         //调用工具类Collections
        System.out.println("---------addAll()------------");
        Collections.addAll(arrList,"dsg","A","QER","WSQW","AFGHJEF");
        System.out.println(arrList);


        System.out.println("---------shuffle()------------");
        Collections.shuffle(arrList);  //打乱
        System.out.println(arrList);



        System.out.println("---------reverse()------------");
        Collections.reverse(arrList);   //反转
        System.out.println(arrList);

        System.out.println("---------sort()------------");
        Collections.sort(arrList);   //排序
        System.out.println(arrList);
        Collections.sort(arrList, new Comparator<String>() {  //可以自定义排序【利用比较器排序】
            @Override
            public int compare(String o1, String o2) {
                return o2.compareTo(o1);
            }
        });   //排序
        System.out.println(arrList);



        System.out.println("---------binarySearch()  先排序再二分查找------------");
        ArrayList<Integer> list=new ArrayList<>();
        ArrayList<Integer> list1=new ArrayList<>();
        Collections.addAll(list,1,2,3,8,9,4,6,7);
        list.sort(new Comparator<Integer>() {
            @Override
            public int compare(Integer o1, Integer o2) {
                return o1-o2;
            }
        });
        System.out.println(list);
        //二分查找法查询A字符串
        System.out.println(Collections.binarySearch(list,6));  //返回指定key的索引

        System.out.println("---------swap()  互换位置------------");
         Collections.swap(list,1,3);  //互换位置
        System.out.println(list);



        System.out.println("---------copy()  拷贝数据------------");
        /*
        前提条件:新的集合长度比原来的集合长度小,方法会报错,因为 IndexOutOfBoundsException 异常【下标越界异常】
         */
        Collections.addAll(list1,4,5,6,7,8,9,1,2,3,20,30,54);
        Collections.copy(list1,list);  //将list的数据拷贝到list1中,相同位置的数据将会被覆盖
        System.out.println(list1);


        System.out.println("---------fill()  修改数据------------");
        Collections.fill(list1,100);  //将list1的数据全部修改成100;
        System.out.println(list1);

        System.out.println("---------max/min()  最大值与最小值------------");
        System.out.println(Collections.min(list));
        System.out.println(Collections.max(list));

    }
}

  

标签:list,System,arrList,println,Collections,集合,工具,out
From: https://www.cnblogs.com/Lucky-only/p/16975184.html

相关文章

  • 集合接口【Collection】之ArrayList
    packagecom.Lucky;importjava.awt.*;importjava.util.LinkedList;importjava.util.List;/*ArrayList:1.底层使用顺序存储结构,可以使用角......
  • 集合
    1packagecom.Lucky;23importjava.util.ArrayList;4importjava.util.Iterator;56/**7*集合:Collection[接口]与Map[接口]8*9*......
  • 建立一个简单干净的 gn+ninja 工具链
    背景事情的起因是,想找个跨Windows和Mac的构建方案。第一考虑自然是CMake,毕竟基本上是事实标准了。但是研究了一下ModernCMake,也就是以target为核心的理念。但发......
  • 收入管理的四大工具
    在过去一个世纪里,会计师和分析师已成功应用管理模型,与高管共同确立了具有因果关系的驱动因素,以此达成包括成本和投资在内的战略目标。同样的工作能够也应当延伸到销售和收......
  • [笔记]Volatility 取证工具使用以及Hollow插件使用
    ​​Volatility内存取证使用​​文章目录​​前言​​​​环境​​​​使用Dumpit生成内存镜像​​​​使用VMware的内存镜像​​​​安装Volatility​​​​使用HollowFind......
  • python字符串中返回bool类型的函数集合
    #isspaceistitleisupperislower#isspace判断字符串是否是一个由空格组成的字符串booltype=string.isspace()->无参数可传,返回一个布尔类型#由空格组成的字符串......
  • c++构建工具之shell,configure,make,cmake,scons,xmake简析总结
    前言说到编译工具,在windows下必言vs,在linux下必言make。0.shell如果编译一个库的命令太复杂或者为了方便,我们更愿意将编译命令写成一个shell脚本来执行,比如build.sh编译ffmp......
  • linux工具之检测内存泄漏-valgrind
    0.前言内存泄漏是c++程序常见的问题了,特别是服务类程序,当系统模块过多或者逻辑复杂后,很难通过代码看出内存泄漏;valgrind是一个开源的,检测c++程序内存泄漏有效工具,编译时加上......
  • c++构建工具之cmake使用小结
    0.前言使用cmake的过程先是要编写一个cmakelists.txt的文本,然后使用cmake命令生成对应平台的工程。在windows下命令行或者使用cmakegui工具,生成v......
  • google的guava工具类splitter和apache stringutil对比
    一直用的是apache的stringutil工具类,其实google的工具类项目guava中居然也有字符串的分隔类splitter的,在​​​http://code.google.com/p/guava-lib......