java集合工具类---Collections/Arrays

/*
 *Collections用于操作List/Set的工具类
 *Arrays用于操作数组的工具类
 */
package pack;

import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collections;
import java.util.Comparator;
import java.util.List;
import java.util.TreeSet;

public class Main {

    public static void main(String[] args) {
        //method_Collections();
        method_Arrays();
    }

    public static void sys(Object obj) {
        System.out.println(obj);
    }

    public static void method_Collections() {
        /*父类引用指向子类对象,一个接口有多种实现*/
        List<String> list = new ArrayList<String>();
        list.add("abcd");
        list.add("cd");
        list.add("bcd");

        Collections.sort(list);    //自然比较
        //Collections.sort(list,new MyComparator()); //集合工具类,排序,不能用于Set
        //sys(Collections.max(list));

        sys(list);
        //binarySearch二分查找找出索引位置,使用前集合必须有序
        int index = Collections.binarySearch(list, "bcd");
        sys(index);

        Collections.fill(list, "pp");  //将集合中所有元素全替换为pp

        Collections.replaceAll(list, "pp", "cd");  //将指定元素替换

        Collections.reverse(list);   //翻转

        /*//reverseOrder将TreeSet的自然排序取反,reverseOrder(new MyComparator())将比较器取反
        TreeSet<String> ts = new TreeSet<String>(Collections.reverseOrder());
        TreeSet<String> ts = new TreeSet<String>(Collections.reverseOrder(new MyComparator()));
        ts.add("abc");
        ts.add("kk");
        ts.add("bbbn");
        sys(ts);*/
    } 

    public static void method_Arrays() {  //数组方法很少,用Arrays工具或者将数组转换为List大有好处
        int[] arr = {8,5,4,3,1};
        //sys(Arrays.binarySearch(arr, 4));//binarySearch二分查找找出索引位置

        int[] arr1 = Arrays.copyOf(arr, 3);  //将arr中3个元素复制到arr1中
        int[] arr2 = Arrays.copyOfRange(arr, 1, 4); //将arr中从1到3复制到arr2中

        sys(Arrays.equals(arr, arr1));  //比较两个数组

        //Arrays.fill(arr, 1);  //将数组中元素全部换为1
        //Arrays.fill(arr, 1,3,6);//将数组中下标为1-2的元素换为6

        //Arrays.sort(arr);  //数组中元素排序
        Arrays.sort(arr,1,3);  //将数组中下标为1-2的元素排序

        String s = Arrays.toString(arr); //将数组变为字符串

/*如果数组中元素是对象,变为集合时,数组中元素转为集合中元素                ---数组变集合---
如果数组中元素是基本数据类型,如int,变为集合时,该数组作为集合中元素存在,所以不要用int而用Integer
        Integer[] array1 = {2,3,5,7};  //将整形数组变为List集合
        List<Integer> list1 = Arrays.asList(array1);

        String[] array = {"abc","kkk","psh"};
        List<String> list = Arrays.asList(array); //将字符串数组变为List集合
        //list.add("he");//不可以增删,数组长度是不变的
        sys(list.contains("kkk"));*/

        /*                                                           ---集合变数组---
        List<String> list = new ArrayList<String>();
        list.add("abcd");
        list.add("cd");
        list.add("bcd");
        String[] arr5 = list.toArray(new String[list.size()]);
        sys(Arrays.toString(arr5));*/

    }

}
class MyComparator implements Comparator<String> {
    public int compare(String s1,String s2) {
        if(s1.length()>s2.length())
            return 1;
        if(s1.length()<s2.length())
            return -1;
        return s1.compareTo(s2);
    }
}
时间: 2024-08-01 03:40:02

java集合工具类---Collections/Arrays的相关文章

java集合(工具类Collections)

/* *1 Collections.sort(list集合,比较器); *sort方法不仅可以对list进行自然排序,还可以根据需求定义比较器进行排序. *sort方法不能对Set集合进行排序. *binarySearch方法对集合进行插入,且保证集合有序,如果查找的元素不存在 *则返回比该元素大一个位置的元素的下标加一的相反数,他的原理是折半查找. *fill方法可以将list集合中所有的元素替换成指定元素. *练习,将集合中部分元素替换成指定元素. *replaceAll方法将某一元素替换成

黑马程序员——Java集合工具类和泛型

Collections工具类和泛型 Collections和Collection Collections和Collection是不同的,Collections是工具类,用来操作集合的,而Collection是集合接口.Collections中有一系列的静态方法用来操作集合,但是不能更改集合内容.比如不能set()不能remove()元素,可以替换全部元素或者添加同一个元素. static List<String> list =Arrays .asList("one Two three

Java从零开始学二十四点(集合工具类Collections)

一.Collections简介 在集合的应用开发中,集合的若干接口和若干个子类是最最常使用的,但是在JDK中提供了一种集合操作的工具类 —— Collections,可以直接通过此类方便的操作集合 二.Collections类的常用方法及常量 No. 方法 类型 描述 1 public static final List EMPTY_LIST 常量 返回一个空的List集合 2 public static final Set EMPTY_SET 常量 返回空的Set集合 3 public sta

Java之工具类Collections

总结 Collections 是一个操作 Set.List 和 Map 等集合的工具类 Collections 中提供了大量方法对集合元素进行排序.查询和修改等操作,还提供了对集合对象设置不可变.对集合对象实现同步控制等方法 实现方法 import java.util.ArrayList; import java.util.Collections; import java.util.Comparator; import java.util.List; public class Test3 { p

黑马程序员——Java基础工具类---Collections、Arrays、超级for循环、静态导入、方法可变参数

------<a href="http://www.itheima.com" target="blank">Java培训.Android培训.iOS培训..Net培训</a>.期待与您交流! ------- Collections 一.概述 Collections是对集合框架的一个工具类.它里边的方法都是静态的,不需要创建对象.并未封装特有数据. 在Collections工具类中大部分方法是用于对List集合进行操作的,如比较,二分查找,随机

Java集合操作类Collections的一些常用方法

public static void main(String[] args) { List<Integer> list = new ArrayList<Integer>(); list.add(34); list.add(55); list.add(56); list.add(89); list.add(12); list.add(23); list.add(126); System.out.println(list); //对集合进行排序 Collections.sort(lis

Java8集合框架——集合工具类Collections内部方法浅析

本文的目录结构: 零:Collections 的官方注释 一.Algorithms(算法类操作) 01.排序 sort 02.二分查找 binarySearch 03.列表反转 reverse 04.元素重排列 shuffle 05.元素交换 swap 06.列表填充 fill 07.元素复制 copy 08.最小/最大元素查找 min/max 09.数组旋转 rotate 10.元素替换 replaceAll 11.子列表匹配 二.Unmodifiable Wrappers(不可变包装类) 三

黑马程序员-集合工具类和1.5新特性

集合框架的工具类:collecttions Collections 的方法全是静态的 List没有排序功能,所以java定义了Collections工具类. 比较器无法传给list,只能传给Set.但是集合工具类有此方法 1.排序: comparable:    sort(List<T> list) 根据元素的自然顺序 对指定列表按升序进行排序. comparator:    sort(List<T> list, Comparator<? super T> c) 根据比

java Collections集合工具类

/* Collections是Collection的工具类. 工具类中其中两个比较常用的方法就是: 1,sort(list) . sort(list,自定义比较器) 2,max(list) . max(list,自定义比较器) 3,binarySearch(list,key) //利用折半查找的方法找到list中key元素的索引,存在则返回索引,不存在则返回-(插入点)-1 */ import java.util.*; class CollectionsDemo { public static