我与咖啡娘的爱恨情仇

06.Collections工具类

2018-10-15  本文已影响0人  今天庹

Collections中的方法

package com.itheima_03;

import java.sql.Connection;
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;

/*
 * Collections:
 * 面试题:Collection和Collections有什么区别?
 *       Collection是集合体系中的最顶层,包含了集合体系的共性
 *       Collections是一个工具类,方法就是用于操作Collection的
 */
public class CollectionDemo {
    public static void main(String[] args) {
        
        method();
        
//      method2();
        
//      method3();
        
//      method4();
        
//      method5();
        
//      method6();
        
//      method7();
        
    }

    private static void method7() {
        //static void swap(List list, int i, int j) :将指定列表中的两个索引进行位置互换
        List<Integer> list = new ArrayList<Integer>();
        list.add(1);
        list.add(4);
        
        Collections.swap(list, 0, 1);
        System.out.println(list);//[4, 1]
    }

    private static void method6() {
        //static void sort(List<T> list)  :按照列表中元素的自然顺序进行排序
        List<Integer> list = new ArrayList<Integer>();
        list.add(1);
        list.add(4);
        list.add(3);
        list.add(2);
        
        Collections.sort(list);
        System.out.println(list);//[1, 2, 3, 4]
    }

    private static void method5() {
        //static void shuffle(List<?> list) :随即置换
        List<Integer> list = new ArrayList<Integer>();
        list.add(1);
        list.add(2);
        list.add(3);
        list.add(4);
        
        Collections.shuffle(list);
        System.out.println(list);//[4, 2, 3, 1]
    }

    private static void method4() {
        //static void reverse(List list)  :反转
        List<Integer> list = new ArrayList<Integer>();
        list.add(1);
        list.add(2);
        list.add(3);
        
        Collections.reverse(list);
        System.out.println(list);//[3, 2, 1]
    }

    private static void method3() {
        //static <T> void fill(List list, T obj) :使用指定的对象填充指定列表的所有元素
        List<String> list = new ArrayList<String>();
        list.add("hello");
        list.add("world");
        list.add("java");
        System.out.println(list);//[hello, world, java]
        
        Collections.fill(list, "android");
        
        System.out.println(list);// [android, android, android]
    }

    private static void method2() {
        //static <T> void copy(List dest, List src) :是把源列表中的数据覆盖到目标列表
        //注意:目标列表的长度至少等于源列表的长度
        //创建源列表
        List<String> src = new ArrayList<String>();
        src.add("hello");
        src.add("world");
        src.add("java");
        
        //创建目标列表
        List<String> dest = new ArrayList<String>();
        dest.add("java");
        dest.add("java");
        dest.add("java");
        dest.add("java");
        Collections.copy(dest, src);
        System.out.println(dest);//[hello, world, java, java]
    }

    private static void method() {
        //static <T> int binarySearch(List list, Object key) :使用二分查找法查找指定元素的索引位置
        List<Integer> list = new ArrayList<Integer>();
        list.add(1);
        list.add(2);
        list.add(3);
        list.add(4);
        
        int index = Collections.binarySearch(list, 4);
        System.out.println(index);//3
    }
}
上一篇下一篇

猜你喜欢

热点阅读