您的位置:首页 > 编程语言 > Java开发

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

2015-02-26 00:10 253 查看

一、Collections简介

在集合的应用开发中,集合的若干接口和若干个子类是最最常使用的,但是在JDK中提供了一种集合操作的工具类 —— Collections,可以直接通过此类方便的操作集合

二、Collections类的常用方法及常量

No.
方法
类型
描述
1
public static final List EMPTY_LIST
常量
返回一个空的List集合
2
public static final Set EMPTY_SET
常量
返回空的Set集合
3
public static final Map EMPTY_MAP
常量
返回空的Map集合
4
public static <T> boolean addAll(Collection<? super T> c, T... a)
普通
为集合添加内容
5
public static <T extends Object & Comparable<? super T>> T max(Collection<? extends T> coll)
普通
找到最大的内容,按比较器排序
根据元素的自然顺序,返回给定集合的最大元素
6
public static <T extends Object & Comparable<? super T>> T min(Collection<? extends T> coll)
普通
找到集合中的最小内容,按比较器排序
根据元素的自然顺序 返回给定集合的最小元素
7
public static <T> boolean replaceAll(List<T> list,T oldVal,T newVal)
普通
用新的内容替换集合的指定内容
使用另一个值替换集合中出现的所有某一指定值
8
public static void reverse(List<?> list)
普通
反转指定List 集合中元素的顺序。
9
public static <T> int binarySearch(List<? extends Comparable<? super T>> list,T key)
普通
查找集合中的指定内容

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

10

public static final <T> List<T> emptyList()

普通

返回一个空的List集合

11

public static final <K,V> Map<K,V> emptyMap()

普通

返回一个空的Map集合

12

public static final <T> Set<T> emptySet()

普通

返回一个空的Set集合

13

public static <T extends Comparable<? super T>> void sort(List<T> list)

普通

集合排序操作,根据Comparable接口进行排序

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

14

public 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集合中的最大值:we
list集合中的最小值: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的长度:  1
a,b,c,d,e,f
按逗号分离后生成集合
list2的长度:  6
a    b    c    d    e    f
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: