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);
    
    
    }
    
  • 相关阅读:
    3.5——课题选择
    3.8——K-th Substring
    01背包dp
    贪心——IQ
    Secret Project Gym
    快速幂&矩阵快速幂
    用栈非递归实现fib数列
    CodeForces Round #590 (Div 3)
    SQL Server常见问题
    SQL基础函数
  • 原文地址:https://www.cnblogs.com/xiaoran991/p/12594473.html
Copyright © 2011-2022 走看看