zoukankan      html  css  js  c++  java
  • 工具类Arrays和Collections

    一、Arrays工具类的使用

    说明:java.util.Arrays类即为操作数组的工具类,包含了用来操作数组(比 如排序和搜索)的各种方法。

    1、常用方法:

    @Test
    public void testArrays(){
        int[] arr1 = new int[]{1, 2, 3, 4};
        int[] arr2 = new int[]{1, 3, 2, 4};
    
        //1.boolean equals(int[] a,int[] b):判断两个数组是否相等。
        boolean isEquals = Arrays.equals(arr1, arr2);
        System.out.println(isEquals);//false
    
        //2.String toString(int[] a):输出数组信息。
        System.out.println(Arrays.toString(arr1));//[1, 2, 3, 4]
    
        //3.void fill(int[] a,int val):将指定值填充到数组之中。
        Arrays.fill(arr1, 10);
        System.out.println(Arrays.toString(arr1));//[10, 10, 10, 10]
    
        //4.void sort(int[] a):对数组进行排序。
        Arrays.sort(arr2);
        System.out.println(Arrays.toString(arr2));//[1, 2, 3, 4]
    
        //5.int binarySearch(int[] a,int key):对排序后的数组进行二分法检索指定的值。
        int index = Arrays.binarySearch(arr2, 1);
        System.out.println(index);//0
    }
    

    二、Collections工具类的使用

    说明:

    • Collections 是一个操作 Set、List 和 Map 等集合的工具类。
    • Collections 中提供了一系列静态的方法对集合元素进行排序、查询和修改等操作, 还提供了对集合对象设置不可变、对集合对象实现同步控制等方法。

    1、常用方法:

    /*
    reverse(List):反转 List 中元素的顺序
    shuffle(List):对 List 集合元素进行随机排序
    sort(List):根据元素的自然顺序对指定 List 集合元素按升序排序
    sort(List,Comparator):根据指定的 Comparator 产生的顺序对 List 集合元素进行排序
    swap(List,int, int):将指定 list 集合中的 i 处元素和 j 处元素进行交换
    
    Object max(Collection):根据元素的自然顺序,返回给定集合中的最大元素
    Object max(Collection,Comparator):根据 Comparator 指定的顺序,返回给定集合中的最大元素
    Object min(Collection)
    Object min(Collection,Comparator)
    int frequency(Collection,Object):返回指定集合中指定元素的出现次数
    void copy(List dest,List src):将src中的内容复制到dest中
    boolean replaceAll(List list,Object oldVal,Object newVal):使用新值替换 List 对象的所有旧值
    
     */
    

    但是要注意

    @Test
    public void test2(){
        List list = new ArrayList();
        list.add(123);
        list.add(43);
        list.add(765);
        list.add(-97);
        list.add(0);
    
        //错误方式:
        //        List dest = new ArrayList();
        //        Collections.copy(dest,list);
    
        //正确的:
        List dest = Arrays.asList(new Object[list.size()]);
        System.out.println(dest.size());//list.size();
        Collections.copy(dest,list);
    
        System.out.println(dest);//[123, 43, 765, -97, 0]
    
    
        /*
            Collections 类中提供了多个 synchronizedXxx() 方法,
            该方法可使将指定集合包装成线程同步的集合,从而可以解决
            多线程并发访问集合时的线程安全问题
    
             */
        //返回的list1即为线程安全的List
        List list1 = Collections.synchronizedList(list);
    
    
    }
    
  • 相关阅读:
    PHP 使用 GET 传递数组变量
    Java实现 蓝桥杯 算法训练 数据交换
    Java实现 蓝桥杯 算法训练 数据交换
    Java实现 蓝桥杯 算法训练 数据交换
    Java实现 蓝桥杯 算法训练 景点游览
    Java实现 蓝桥杯 算法训练 景点游览
    Java实现 蓝桥杯 算法训练 景点游览
    Java实现 蓝桥杯 算法训练 二进制数数
    Java实现 蓝桥杯 算法训练 二进制数数
    Java实现 蓝桥杯 算法训练 二进制数数
  • 原文地址:https://www.cnblogs.com/xiaoran991/p/12594473.html
Copyright © 2011-2022 走看看