首页 > 学院 > 开发设计 > 正文

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

2019-11-14 23:04:29
字体:
来源:转载
供稿:网友
java从零开始学二十四(集合工具类Collections)一、Collections简介在集合的应用开发中,集合的若干接口和若干个子类是最最常使用的,但是在JDK中提供了一种集合操作的工具类 —— Collections,可以直接通过此类方便的操作集合二、Collections类的常用方法及常量
No.方法类型描述
1public static final List EMPTY_LIST常量返回一个空的List集合
2public static final Set EMPTY_SET常量返回空的Set集合
3public static final Map EMPTY_MAP常量返回空的Map集合
4public static <T> boolean addAll(Collection<? super T> c, T... a)普通为集合添加内容
5public static <T extends Object & Comparable<? super T>> T max(Collection<? extends T> coll)普通找到最大的内容,按比较器排序根据元素的自然顺序,返回给定集合的最大元素
6public static <T extends Object & Comparable<? super T>> T min(Collection<? extends T> coll)普通找到集合中的最小内容,按比较器排序根据元素的自然顺序 返回给定集合的最小元素
7public static <T> boolean replaceAll(List<T> list,T oldVal,T newVal)普通用新的内容替换集合的指定内容使用另一个值替换集合中出现的所有某一指定值
8public static void reverse(List<?> list)普通反转指定List 集合中元素的顺序。
9public static <T> int binarySearch(List<? extends Comparable<? super T>> list,T key)普通查找集合中的指定内容

使用二分查找算法查找指定List 集合,以获得指定对象的索引位置。

10public static final <T> List<T> emptyList()普通返回一个空的List集合
11public static final <K,V> Map<K,V> emptyMap()普通返回一个空的Map集合
12public static final <T> Set<T> emptySet()普通返回一个空的Set集合
13public static <T extends Comparable<? super T>> void sort(List<T> list)普通集合排序操作,根据Comparable接口进行排序

根据元素的自然顺序 对指定List 集合按升序进行排序。

14public static void swap(List<?> list,int i,int j)普通交换指定位置的元素
三、将指定List 集合中的元素顺序反转
package com.pb.demo2;import java.util.Collections;import java.util.LinkedList;import java.util.List;public class CollectionsTest1 {    public static void main(String[] args) {       //声明集合并添加元素        LinkedList<String> list = new LinkedList<String>();        list.add("one");        list.add("two");        list.add("three");                System.out.PRintln("=======正常遍历============");        for (String s : list) {            System.out.print(s+"/t");        }        System.out.println();        System.out.println("=======执行reverse方法============");        Collections.reverse(list);        for (String s : list) {            System.out.print(s+"/t");        }    }}
四、sort 方法的作用是对指定List 集合按升序进行排序
package com.pb.demo2;import java.util.ArrayList;import java.util.Collections;import java.util.List;public class CollectionsTest2 {    public static void main(String[] args) {        //声明集合并添加集        List<Integer> list = new ArrayList<Integer>();        list.add(7);        list.add(2);        list.add(5);        list.add(3);        list.add(1);        System.out.println("=======正常遍历============");        for (Integer i : list) {            System.out.print(i+"/t");        }                System.out.println("/n=======执行sort方法============");        Collections.sort(list);        for (Integer i : list) {            System.out.print(i+"/t");        }        System.out.println("/n=======执行reverse方法============");        Collections.reverse(list);        for (Integer i : list) {            System.out.print(i+"/t");        }    }}

结果:

=======正常遍历============7    2    5    3    1    =======执行sort方法============1    2    3    5    7    =======执行reverse方法============7    5    3    2    1    
五、集合查找、替换的方法
package com.pb.demo2;import java.util.ArrayList;import java.util.Collections;import java.util.List;public class CollectionsTest3 {    public static void main(String[] args) {        //声明集合并添加集        //创建集合        List<String> list = new ArrayList<String>();        //增加10 个不同单词        list.add("this");        list.add("is");        list.add("collection");        list.add("test");        list.add("and");        list.add("we");        list.add("can");        list.add("learn");        list.add("how");        list.add("to");        System.out.println("=======正常遍历============");        for (String s : list) {            System.out.print(s+"/t");        }        //打印输出集合中最大元素和最小元素        System.out.println("/n========打印输出集合中最大元素和最小元素=========");        String max=Collections.max(list);        String min=Collections.min(list);        System.out.println("list集合中的最大值:"+max);        System.out.println("list集合中的最小值:"+min);        System.out.println("/n=======执行sort方法============");        Collections.sort(list);        for (String s : list) {            System.out.print(s+"/t");        }        //binarySearch使用的前提是要排序才可以使用        System.out.println("/n=============binarySearch根据内容查找索引================");        System.out.println("we在list中的索引是:"+Collections.binarySearch(list, "we"));        System.out.println("=============replaceAll方法================");        //replaceAll        Collections.replaceAll(list, "we", "our");        for (String s : list) {            System.out.print(s+"/t");        }        //swap        System.out.println("======swap========");        Collections.swap(list, 0, 9);        for (String s : list) {            System.out.print(s+"/t");        }                }}

结果:

=======正常遍历============this    is    collection    test    and    we    can    learn    how    to    ========打印输出集合中最大元素和最小元素=========list集合中的最大值:welist集合中的最小值:and=======执行sort方法============and    can    collection    how    is    learn    test    this    to    we    =============binarySearch根据内容查找索引================we在list中的索引是:9=============replaceAll方法================and    can    collection    how    is    learn    test    this    to    our    ======swap========our    can    collection    how    is    learn    test    this    to    and    
六、使用Arrays.asList生成集合
package com.pb.demo2;import java.util.Arrays;import java.util.List;public class Test1 {    public static void main(String[] args) {        String str="a,b,c,d,e,f";        List<String> list1=Arrays.asList(str);        System.out.println("list1的长度:  "+list1.size());        for (String s : list1) {            System.out.print(s+"/t");        }        System.out.println("/n按逗号分离后生成集合");        List<String> list2=Arrays.asList(str.split(","));        System.out.println("list2的长度:  "+list2.size());       for (String s : list2) {        System.out.print(s+"/t");    }    }}

结果:

list1的长度:  1a,b,c,d,e,f    按逗号分离后生成集合list2的长度:  6a    b    c    d    e    f    


发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表