Java类集 _集合工具类:Collections

掌握Collections 与 Collection 接口的区别

掌握Collections 类中提供的主要操作方法

在面试题目中有可能会问这样一个问题,请回答, Collections 和 Collection 的关系。

Collections 类与 Collection 没有直接的关系,但是与集合中的各个接口都有操作的方法支持。

Java类集 _集合工具类:Collections_第1张图片

验证,空集合的操作:

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

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

import java.util.Collections ;
import java.util.List ;
import java.util.Set ;
public class CollectionsDemo01{
	public static void main(String args[]){
		List<String> allList = Collections.emptyList() ;	// 返回空的 List集合
		Set<String> allSet = Collections.emptySet() ;	// 返回空的 List集合
		allList.add("Hello") ;	// 加入数据
	}
};

如果要想为集合中增加内容,则肯定使用add() 方法,在Collections 中也提供了专门的增加操作。

public static <T> boolean addAll (Collection<? super T> c, T... elements)

使用了可变参数,所以,可以任意输入各种类型的数据。

import java.util.Collections ;
import java.util.List ;
import java.util.ArrayList ;
import java.util.Iterator ;
public class CollectionsDemo02{
	public static void main(String args[]){
		List<String> all = new ArrayList<String>() ;	// 返回空的 List集合
		Collections.addAll(all,"MLDN","LXH","mldnjava") ;
		Iterator<String> iter = all.iterator() ;
		while(iter.hasNext()){
			System.out.print(iter.next() + "、") ;
		}
	}
};
选择何种的加入操作根据人个喜好。
import java.util.Collections ;
import java.util.List ;
import java.util.ArrayList ;
import java.util.Iterator ;
public class CollectionsDemo03{
	public static void main(String args[]){
		List<String> all = new ArrayList<String>() ;	// 返回空的 List集合
		Collections.addAll(all,"MLDN","LXH","mldnjava") ;
		Collections.reverse(all) ;	// 内容反转
		Iterator<String> iter = all.iterator() ;
		while(iter.hasNext()){
			System.out.print(iter.next() + "、") ;
		}
	}
};
 在Collections 中也提供了二分检索的方法:

public static <T> int BinarySearch (List<? extends Comparable <? super T>> list, T key)

完成检索:

import java.util.Collections ;
import java.util.List ;
import java.util.ArrayList ;
import java.util.Iterator ;
public class CollectionsDemo04{
	public static void main(String args[]){
		List<String> all = new ArrayList<String>() ;	// 返回空的 List集合
		Collections.addAll(all,"MLDN","LXH","mldnjava") ;
		int point = Collections.binarySearch(all,"LXH") ;	// 检索数据
		System.out.println("检索结果:" + point) ;
		
	}
};
替换内容:

public static <T> boolean replaceAll (List <T> list, T oldVal, TnewVal)

执行替换的操作:

import java.util.Collections ;
import java.util.List ;
import java.util.ArrayList ;
import java.util.Iterator ;
public class CollectionsDemo05{
	public static void main(String args[]){
		List<String> all = new ArrayList<String>() ;	// 返回空的 List集合
		Collections.addAll(all,"MLDN","LXH","mldnjava") ;
		if(Collections.replaceAll(all,"LXH","李兴华")){// 替换内容
			System.out.println("内容替换成功!") ;
		}
		System.out.print("替换之后的结果:") ;
		System.out.print(all) ;
		
	}
};
之前曾经说过,使用TreeSet 可以进行排序操作,那么在Collections 类中也提供了这样的一个排序操作:

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

完成捐弃的功能实现

import java.util.Collections ;
import java.util.List ;
import java.util.ArrayList ;
import java.util.Iterator ;
public class CollectionsDemo06{
	public static void main(String args[]){
		List<String> all = new ArrayList<String>() ;	// 返回空的 List集合
		Collections.addAll(all,"1、MLDN","2、LXH","3、mldnjava") ;
		Collections.addAll(all,"B、www.mldn.cn") ;
		Collections.addAll(all,"A、www.mldnjava.cn") ;
		System.out.println("排序之前的集合:" + all) ;
		Collections.sort(all) ;
		System.out.println("排序之后的集合:" + all) ;
		
	}
};
如果要进行排序的话,则肯定对象所在的类必须实现 Comparable 接口。

交换指定位置的内容:

public static void swap(List <?> list, int i, int j)

完成一个交换内容的操作:
import java.util.Collections ;
import java.util.List ;
import java.util.ArrayList ;
import java.util.Iterator ;
public class CollectionsDemo07{
	public static void main(String args[]){
		List<String> all = new ArrayList<String>() ;	// 返回空的 List集合
		Collections.addAll(all,"1、MLDN","2、LXH","3、mldnjava") ;
		System.out.println("交换之前的集合:" + all) ;
		Collections.swap(all,0,2) ;
		System.out.println("交换之后的集合:" + all) ;
		
	}
};

总结:

1、在类集中为了方便集合的操作提供了 Collections 类,此类与 Collection 接口没有直接的继承或实现关系,只是对所有的接口有所支持而已。

2、开发中是否使用此类没有明确的规定,按照个人的喜好执行即可。


你可能感兴趣的:(java,String,list,Collections,import,工具)