JAVA 第七章集合(五)
来源:互联网 发布:控制鼠标的软件 编辑:程序博客网 时间:2024/05/22 00:18
Collections类
操作Collecyion以及Map集合的工具类
Collections是一个操作。Set,List和Map等集合的工具类
Collections中提供了一系列静态的方法对集合元素就行排序,查询,和修改等操作,还提供了对集合对象设置不可变,对集合对象实现同步等方法
排序操作(均为static方法)
reverse(List):反转List中元素的顺序
shuffle(List):对List集合元素进行随机排序
sort(List):根据元素的自然排序对指定List集合元素按升序排序
sort(List,Comparator):根据指定的Comparator产生的顺序对List集合元素进行排序
swap(List,int,int):将指定List集合中的i处元素和j处元素进行交换
查找 替换
Object max(Collection):根据元素的自然顺序,返回给定集合中的最大元素
Object max(Cpllection,Comparator):根据Comparator指定的顺序,返回给定集合中的最大元素
Object min(Collection)
Obiect min(Cpllection,Comparator)
int frequency(Collection ,Object):返回指定集合中元素的出现次数
void copy(List dest,List src):将src中的内容复制到dest中
boolean replaceAll(List list,Object oldVal,Object new Val):使用新值替换List对象的所有旧值。
package Collection;import java.lang.reflect.Array;import java.util.ArrayList;import java.util.Arrays;import java.util.Collections;import java.util.List;import org.junit.Test;public class testCollections { @Test public void tetsCollectionsOne(){ List list=new ArrayList(); list.add(123); list.add(245); list.add(64); list.add(48); list.add(458); System.out.println(list); Collections.reverse(list); System.out.println(list); Collections.shuffle(list); System.out.println(list); Collections.sort(list); System.out.println(list); Collections.swap(list, 0, 3); System.out.println(list); Object obj=Collections.max(list); System.out.println(obj); int i=Collections.frequency(list, 64); System.out.println(i); //List list1=new ArrayList();//进行复制的而错误写法 List list1=Arrays.asList(new Object[list.size()]); Collections.copy(list1, list); System.out.println(list1); }}运行结果[123, 245, 64, 48, 458][458, 48, 64, 245, 123][458, 48, 245, 123, 64][48, 64, 123, 245, 458][245, 64, 123, 48, 458]4581[245, 64, 123, 48, 458]
同步控制
Collections类提供了多个synchronizedXxx()方法。该方法可使指定集合包装成线程同步的集合,从而可以解决多线程并访问集合时的线程安全问题。
//通过以下方法保证list方法的线程安全性List list2=Collections.synchronizedList(list); System.out.println("list"+list2);
Enumeration
这个借口是Iterator迭代器的“古老版本”
package Collection;import java.util.Enumeration;import java.util.StringTokenizer;public class TestEnumeration { public static void main(String[] args){ Enumeration enm= new StringTokenizer("ab-c-ef-g","-"); while(enm.hasMoreElements()){ System.out.println(enm.nextElement()); } }}运行结果abcefg
- JAVA 第七章集合(五)
- JAVA -第七章 集合(一)
- JAVA-第七章 集合(二)
- JAVA第七章-集合(三)
- JAVA第七章集合(四)
- 疯狂JAVA讲义---第七章(上):集合set
- 疯狂JAVA讲义---第七章(中):集合List,Queue
- 疯狂JAVA讲义---第七章(下):集合Map
- JAVA OOP第七章 集合框架
- 第七章 集合框架(一)
- 第七章 集合
- 第七章:Java_集合
- 第七章 F# 库(五)
- Java基础学习第七章之Java 集合
- 深入理解Java集合框架系列 -第七章 ArrayList
- Java语言规范基于JavaSE9 第七章 包和模块(五)
- java基础(五),集合,泛型
- JAVA基础---集合(五)--Set
- 工厂模式
- 排序3——堆排序,归并排序,快速排序
- 两种Linux系统安装方式:预装和非预装
- 2054数据结构实验之链表九:双向链表
- Java返回语句-return
- JAVA 第七章集合(五)
- 编程练习2——04
- BZOJ 1597: [Usaco2008 Mar]土地购买【斜率优化】
- 吐了#8
- Sqrt(x)
- Linux21个常用高效命令
- C语言数据结构之普通树篇
- 强化练习6:判断一字符串是否为回文,是返回1,不是返回0,出错返回-1
- Java正则表达式