• java基础37 集合框架工具类Collections和数组操作工具类Arrays


    一、集合框架工具类:Collections

    1.1、Collections类的特点

        该工具类中所有的方法都是静态

    1.2、Collections类的常用方法

        binarySearch(List<? extends Comparable<? super T>> list, T key):使用二叉搜索算法搜索指定对象的指定列表。注:使用binarySearch()方法前,必须先使用sort()方法 正序排序
        sort(List<T> list):正序排序
        reverse(List<?> list):倒序排序
        max(Collection<? extends T> coll):找最大值
        copy(List<? super T> dest, List<? extends T> src):将所有元素从一个列表复制到另一个列表中。

    1.3、实例

     1 package com.dhb.collection;
     2 
     3 import java.util.ArrayList;
     4 import java.util.Arrays;
     5 import java.util.Collections;
     6 import java.util.List;
     7 
     8 /**
     9  * @author DSHORE / 2018-5-30
    10  *
    11  */
    12 public class Demo25 {
    13     public static void main(String[] args) {
    14         ArrayList<Integer> list = new ArrayList<Integer>();
    15         list.add(2);
    16         list.add(1);
    17         list.add(9);
    18         list.add(6);
    19         Collections.sort(list);//正序排序
    20         System.out.println(list);//返回值:[1, 2, 6, 9]
    21         
    22         int t=Collections.binarySearch(list, 2);//使用二叉搜索算法搜索指定对象的指定列表。注:使用binarySearch()方法前,必须先使用sort()方法 正序排序
    23         System.out.println(t);//返回值:1
    24         
    25         Collections.reverse(list);//倒序排序
    26         System.out.println(list);//返回值:[9, 6, 2, 1]
    27         
    28         int m=Collections.max(list);//找最大值
    29         System.out.println(m);//返回值:9
    30         
    31         //List<Integer>换成ArrayList<Integer>报错
    32         List<Integer> list2 = Arrays.asList(new Integer[list.size()]);//如果换成ArrayList<Integer> list2=new ArrayList<Integer>(); 则报IndexOutOfBoundsException异常
    33         Collections.copy(list2,list);
    34         for (Integer s : list2) {  
    35             System.out.print(s+",");//返回值:9,6,2,1,
    36         } 
    37     }
    38 }

    二、数组操作工具类:Arrays

    2.1、Arrays类的常用方法

    二分查找,要查找的数组必须是有序的数组
        binarySearch(int[])
        binarySearch(double[])
    1、数组排序
        sort(int[])
        sort(char[])
    2、将数组变成字符串
        toString(int[])
    3、复制数组
        copyOf()
    4、复制部分数组
        copyOfRange()
    5、比较两个数组是否相同
        equals(int[],int[])
    6、将数组变成集合
        List asList(T[])

    2.2、实例

     1 package com.dhb.collection;
     2 
     3 import java.util.Arrays;
     4 import java.util.List;
     5 
     6 /**
     7  * @author DSHORE / 2018-5-30
     8  *
     9  */
    10 public class Demo26 {
    11     public static void main(String[] args) {
    12         int[] i=new int[7];
    13         i[0]=5;
    14         i[1]=1;
    15         i[2]=6;
    16         i[3]=8;
    17         i[4]=10;
    18         i[5]=2;
    19         i[6]=38;
    20         System.out.println(Arrays.toString(i));//返回值:[5, 1, 6, 8, 10, 2, 38]
    21     
    22         Arrays.sort(i);//正序排序
    23         System.out.println(Arrays.toString(i));//返回值:[1, 2, 5, 6, 8, 10, 38]
    24         
    25         int a=Arrays.binarySearch(i,10);
    26         System.out.println(a);//返回值:5
    27         
    28         int[] in=Arrays.copyOf(i,8);//从数组i中复制8个元素到数组in中。(因为数组i的长度为7,这里是8个长度,那么多出来的那位将用0代替)
    29         System.out.println(Arrays.toString(in));//返回值:[1, 2, 5, 6, 8, 10, 38, 0]
    30         int[] in2=Arrays.copyOf(i,6);//从数组i中复制6个元素到数组in2中。(复制是从下标0开始到5结束。6个)
    31         System.out.println(Arrays.toString(in2));//返回值:[1, 2, 5, 6, 8, 10]
    32         
    33         int[] it=new int[10];
    34         it=Arrays.copyOfRange(i, 1, 5);//copyOfRange():复制部分数组
    35         System.out.println(Arrays.toString(it));//返回值:[2, 5, 6, 8]
    36         
    37         //把数组变为集合
    38         List<String> list=Arrays.asList(Arrays.toString(i));
    39         System.out.println(list);//返回值:[[1, 2, 5, 6, 8, 10, 38]]
    40     }
    41 }

    附:Collection与Collections,Array与Arrays的区别

    原创作者:DSHORE

    作者主页:http://www.cnblogs.com/dshore123/

    原文出自:https://www.cnblogs.com/dshore123/p/9115101.html

    欢迎转载,转载务必说明出处。(如果本文对您有帮助,可以点击一下右下角的 推荐,或评论,谢谢!

  • 相关阅读:
    Zjnu Stadium(hdu3047带权并查集)
    cocos2d-x结合cocosbuilder,不同屏幕适配小结
    分布式爬虫系统设计、实现与实战:爬取京东、苏宁易购全网手机商品数据+MySQL、HBase存储
    Generating RSA keys in PKCS#1 format in Java--转
    nodejs安装node-rsa遇到的问题及解决
    spring-redis-data的一个坑
    node-rsa加密,java解密调试
    MySQL 四种事务隔离级别详解及对比--转
    从实际案例聊聊Java应用的GC优化--转
    动态可缓存的内容管理系统(CMS)
  • 原文地址:https://www.cnblogs.com/dshore123/p/9115101.html
Copyright © 2020-2023  润新知