Collections简介

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

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)

普通

集合反转

9

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

普通

查找集合中的指定内容

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接口进行排序

14

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

普通

交换指定位置的元素

实例操作一:返回不可变的集合

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() ;  // 返回不可变的空Set集合
		allList.add("Hello") ;				          // 错误,无法加入
	}
}

实例操作二:为集合增加内容

import java.util.ArrayList;
import java.util.Collections;
import java.util.Iterator;
import java.util.List;
public class CollectionsDemo02 {
	public static void main(String[] args) {
		List<String> all = new ArrayList<String>();	// 实例化List
		Collections.addAll(all, "A", "B", "C");	// 增加内容
		Iterator<String> iter = all.iterator() ;		// 实例化Iterator对象
		while (iter.hasNext()) {				// 迭代输出
			System.out.print(iter.next() + "、");	// 输出内容
		}
	}
}

 实例操作三:反转集合中的内容

import java.util.ArrayList;
import java.util.Collections;
import java.util.Iterator;
import java.util.List;
public class CollectionsDemo03 {
	public static void main(String[] args) {
		List<String> all = new ArrayList<String>();	// 实例化List
		Collections.addAll(all, "A", "B", "C");	    // 增加内容
		Collections.reverse(all) ;			        // 内容反转保存
		Iterator<String> iter = all.iterator() ;    // 实例化Iterator对象
		while (iter.hasNext()) {				    // 迭代输出
			System.out.print(iter.next() + "、");	// 输出内容			
		}
	}
}

实例操作四:检索内容

import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
public class CollectionsDemo04 {
	public static void main(String[] args) {
		List<String> all = new ArrayList<String>();	// 实例化List
		Collections.addAll(all, "A", "B", "C");	// 增加内容
		int point = Collections.binarySearch(all, "C") ;	// 检索内容
		System.out.println("检索结果:" + point);		// 输出位置
		point = Collections.binarySearch(all, "D") ;	// 检索内容,内容不存在
		System.out.println("检索结果:" + point);		// 输出位置
	}
}

实例操作五:替换集合中的内容 

import java.util.ArrayList;
import java.util.Collections;
import java.util.Iterator;
import java.util.List;
public class CollectionsDemo05 {
	public static void main(String[] args) {
		List<String> all = new ArrayList<String>();	    // 实例化List
		Collections.addAll(all, "A", "B", "C");	        // 增加内容
		if(Collections.replaceAll(all, "A", "D")){	    // 替换内容
			System.out.println("内容替换成功!");	        // 输出信息
		}
		System.out.print("替换之后的结果:") ;		        // 输出信息 
		Iterator<String> iter = all.iterator() ;		// 实例化Iterator对象
		while (iter.hasNext()) {				        // 迭代输出
			System.out.print(iter.next() + "、");	    // 输出内容
		}
	}
}

实例操作六:集合排序

import java.util.ArrayList;
import java.util.Collections;
import java.util.Iterator;
import java.util.List;
public class CollectionsDemo06 {
	public static void main(String[] args) {
		List<String> all = new ArrayList<String>();		// 实例化List
		Collections.addAll(all, "1、A", "2、B", "5、M"); // 增加内容
		Collections.addAll(all, "3、X");		        // 增加内容
		Collections.addAll(all, "4、Z");		        // 增加内容
		System.out.print("排序之前的集合:");			    // 输出信息
		Iterator<String> iter = all.iterator() ;		// 实例化Iterator对象
		while (iter.hasNext()) {				        // 迭代输出
			System.out.print(iter.next() + "、");		// 输出内容
		}
		Collections.sort(all) ;				            // 集合排序
		System.out.print("\n排序之后的集合:") ;		   	// 输出信息
		iter = all.iterator() ;				            // 实例化Iterator对象
		while (iter.hasNext()) {				        // 迭代输出
			System.out.print(iter.next() + "、");		// 输出内容
		}
	}
}

实例操作七:交换指定位置的内容

import java.util.ArrayList;
import java.util.Collections;
import java.util.Iterator;
import java.util.List;
public class CollectionsDemo07 {
	public static void main(String[] args) {
		List<String> all = new ArrayList<String>();		  // 实例化List
		Collections.addAll(all, "1、A", "2、B", "3、C");   // 增加内容
		System.out.print("交换之前的集合:") ;			      // 输出信息
		Iterator<String> iter = all.iterator() ;		  // 实例化Iterator对象
		while (iter.hasNext()) {				          // 迭代输出
			System.out.print(iter.next() + "、");		  // 输出内容
		}
		Collections.swap(all,0,2) ;				          // 交换指定位置的内容
		System.out.print("\n交换之后的集合:") ;			  // 输出信息
		iter = all.iterator() ;				              // 实例化Iterator对象
		while (iter.hasNext()) {				          // 迭代输出
			System.out.print(iter.next() + "、");		  // 输出内容
		}
	}
}

 

转载于:https://my.oschina.net/u/3544533/blog/1830230

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
`collections` 是 Python 内置的一个模块,提供了一些特定数据类型的实现,包括 `deque`、`OrderedDict`、`defaultdict`、`Counter` 等。这些数据类型在某些场景下可以提高 Python 程序的效率和可读性。 以下是每个数据类型的简单介绍: - `deque`:双端队列,支持在两端进行元素的插入和删除操作。 - `OrderedDict`:有序字典,可以按照元素插入的顺序遍历字典。 - `defaultdict`:默认字典,可以指定默认值,当访问不存在的键时返回默认值而不是抛出 KeyError 异常。 - `Counter`:计数器,用于统计元素出现的次数,返回一个字典形式的计数结果。 在使用 `collections` 模块时,需要先导入该模块,例如: ```python import collections ``` 然后就可以使用 `deque`、`OrderedDict`、`defaultdict`、`Counter` 等数据类型了。例如: ```python # 创建一个 deque d = collections.deque([1, 2, 3]) d.append(4) d.appendleft(0) print(d) # 输出:deque([0, 1, 2, 3, 4]) # 创建一个 OrderedDict od = collections.OrderedDict([('a', 1), ('b', 2), ('c', 3)]) print(od) # 输出:OrderedDict([('a', 1), ('b', 2), ('c', 3)]) # 创建一个 defaultdict dd = collections.defaultdict(int) dd['a'] += 1 dd['b'] += 2 print(dd) # 输出:defaultdict(<class 'int'>, {'a': 1, 'b': 2}) # 创建一个 Counter c = collections.Counter('hello, world') print(c) # 输出:Counter({'l': 3, 'o': 2, ' ': 1, 'h': 1, 'e': 1, ',': 1, 'w': 1, 'r': 1, 'd': 1}) ```

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值