Java学习笔记33(集合框架七:Collections工具类)

数组有工具类,方面操作数组

集合也有工具类:Collections

常用方法示例:

package demo;

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

public class CollectionDemo {
    public static void main(String[] args) {
        function1();
        function2();
        function3();
    }
    public static void function1(){
        //sort排序:必须是List集合,升序排列
        //字符串排序,按字母顺序
        List<String> list = new ArrayList<String>();
        list.add("a");
        list.add("d");
        list.add("s");
        list.add("g");
        Collections.sort(list);
        System.out.println(list);
        //[a, d, g, s]
    }
    public static void function2(){
        //二分搜索,注意必须是list集合
        //折半查找的前提是完成排序
        List<Integer> list = new ArrayList<Integer>();
        list.add(11);
        list.add(3);
        list.add(16);
        list.add(9);
        list.add(15);
        Collections.sort(list);
        System.out.println(list);
        //[3, 9, 11, 15, 16]
        int index = Collections.binarySearch(list, 11);
        System.out.println(index);//2
        //索引为2的元素为11
    }
    public static void function3(){
        //对集合随机排列
        List<Integer> list = new ArrayList<Integer>();
        for(Integer i = 1 ;i<10;i++){
            list.add(i);
        }
        System.out.println(list);
        //[1, 2, 3, 4, 5, 6, 7, 8, 9]
        Collections.reverse(list);//翻转集合
        System.out.println(list);
        //[9, 8, 7, 6, 5, 4, 3, 2, 1]
        Collections.shuffle(list);//随机排列
        System.out.println(list);
        //[7, 3, 4, 5, 8, 2, 6, 9, 1]
        //每次运行输出都不一样
    }
}

原文地址:https://www.cnblogs.com/xuyiqing/p/8280885.html

时间: 2024-08-11 09:56:40

Java学习笔记33(集合框架七:Collections工具类)的相关文章

Java集合框架:Collections工具类

java.util.Collections工具类提供很多有用的方法,使得程序猿操作集合类的时候更加的方便容易,这些方法都是静态的.整个Collections工具类源码差不多有4000行,我们针对一些典型的方法进行阐述. 1. 调用一个空List,Set,Map public static final List EMPTY_LIST = new EmptyList<>(); public static final Map EMPTY_MAP = new EmptyMap<>(); p

【Java学习笔记】集合框架Ⅱ

迭代 ●迭代是取出集合中元素的一种方式. ●因为Collection中有iterator方法,所以每一个子类集合对象都具备迭代器. ●用法: 第一种 for (iterator iter=iterator(); iter.hasNext();) //老外比较喜欢用这种,省内存(iter的内存),开发时用这个 { System.out.println(iter.next()); } 第二种 Iterator iter = l.iterator(); while(iter.hasNext()) {

【Java学习笔记】集合框架Ⅰ

集合类的由来: 对象用于封装特有数据,对象多了需要存储,如果对象的个数不确定. 就使用集合容器进行存储. 集合特点: 1.用于存储对象的容器. 2.集合的长度是可变的. 3.集合中不可以存储基本数据类型值. 集合容器因为内部的数据结构不同,有多种具体容器,不断向上抽取,就形成了集合框架. 框架的顶层是Collection接口. Collection的常见方法: 1.添加 boolean  add(Object obj); boolean  addAll(Collection coll); 2.删

JAVA学习笔记(五十一)- DBUtil 封装数据库工具类

数据库工具类 import java.sql.Connection; import java.sql.DriverManager; import java.sql.ResultSet; import java.sql.SQLException; import java.sql.Statement; /* * 数据库工具类 */ public class DBUtil { // 获取数据库连接 public static Connection getConnection() { String dr

【Java学习笔记】&lt;集合框架&gt;Iterator的子接口ListIterator

1 import java.util.ArrayList; 2 import java.util.Iterator; 3 import java.util.List; 4 5 public class Test3 { 6 7 public static void main(String[] args) { 8 List list = new ArrayList(); 9 10 list.add("abc1"); 11 list.add("abc2"); 12 lis

【Java学习笔记】&lt;集合框架&gt;TreeSet,Comparable,Comparator

1 public class Person implements Comparable{ 2 private String name; 3 private int age; 4 5 public Person(){ 6 super(); 7 } 8 public Person(String name, int age) 9 { 10 super(); 11 this.name = name; 12 this.age = age; 13 } 14 15 16 @Override 17 public

【Java学习笔记】&lt;集合框架&gt;使用LinkedList来模拟一个堆栈或者队列的数据结构

1 import java.util.LinkedList; 2 3 public class Test5 { 4 5 public static void main(String[] args) { 6 7 Duilie dl = new Duilie(); 8 9 dl.myAdd("abc1"); 10 dl.myAdd("abc2"); 11 dl.myAdd("abc3"); 12 dl.myAdd("abc4");

【Java学习笔记】&lt;集合框架&gt;对字符串进行长度排序

1 package 测试; 2 3 import java.util.Comparator; 4 5 public class ComparatorByLength implements Comparator { //定义比较器 6 7 @Override 8 public int compare(Object o1, Object o2) { 9 String s1 = (String)o1; 10 String s2 = (String)o2; 11 12 int temp = s1.len

Java学习笔记_18_字符串、包装类、原始数据类剪得转换

18. 字符串.包装类.原始数据类剪得转换: 各个转换如下: 1>String 转换成Integer: Integer integer = new Integer("string");或 Integer Integer = Integer.valueOf(String): 注:String必须是数字字符串,如:"1232". 2>Integer 转换成String: String str = Integer.toString(); 3>Intege

【Unity 3D】学习笔记二十八:unity工具类

unity为开发者提供了很多方便开发的工具,他们都是由系统封装的一些功能和方法.比如说:实现时间的time类,获取随机数的Random.Range( )方法等等. 时间类 time类,主要用来获取当前的系统时间. using UnityEngine; using System.Collections; public class Script_04_13 : MonoBehaviour { void OnGUI() { GUILayout.Label("当前游戏时间:" + Time.t