文档章节

Collections专门操作集合的类

chenruibing
 chenruibing
发布于 2015/06/14 16:23
字数 328
阅读 48
收藏 3

sort    排序

binarySearch    查找

fill    改变列表的所有

replaceAll    覆盖所有相同的

reverse    反转集合内容

swap    交换操作

shuffle    随机分配,就是打乱顺序

Comparator    外部比较器的使用

import java.util.*;
public class anli
{
	public static void main (String[] args)
	{
	//	binarySearchdemo();
	//	reverseOrderdemo();
		Randomdemo();
	}
	public static void Randomdemo()
	{
		Random rd = new Random();//随机取整数,random是不能加泛型的,不带参数
		sop(rd.nextInt(10));//指定范围
	}
	public static void binarySearchdemo()
	{
		List<String> list = new ArrayList<String>();
		list.add("adf");
		list.add("adgaf");
		list.add("adfrwrewrdf");
		list.add("adsfasff");
		list.add("af");
		list.add("arwdfc");
		sop(list);
		Collections.sort(list,new com());
		//Collections.sort(list);
		sop(list);
		int index = Collections.binarySearch(list,"af",new com());//要把比较器也传递过来
		sop(index);
		//Collections.fill(list,"av"); //改变列表的所有
		//sop(list);
		//Collections.replaceAll(list,"av","va");//覆盖所有相同的
		//sop(list);
		Collections.reverse(list);
		sop(list);
		Collections.swap(list,0,1);//交换操作,必须是在list集合中。
		sop(list);
		Collections.shuffle(list);//随机分配
		sop(list);
	}
	public static void sop(Object obj)
	{
		System.out.println(obj);
	}
	public static void reverseOrderdemo()
	{
		//TreeSet<String> ts = new TreeSet<String>(Collections.reverseOrder());//因为是返回比较器,所以需要是Set或者map结构
		//TreeSet<String> ts = new TreeSet<String>(Collections.reverseOrder(new com()));//强转的比较器改变后的顺序。
		TreeSet<String> ts = new TreeSet<String>(new com());
		ts.add("adf");
		ts.add("asfadf");
		ts.add("agsfaddf");
		ts.add("adsddsf");
		ts.add("asdf");
		ts.add("af");
		Iterator<String> it = ts.iterator();
		while(it.hasNext())
		{
			String str = it.next();
			sop(str);
		}
		
	}
}
class com implements Comparator<String>
{
	public int compare(String one,String two)
	{
		int value = one.length()-two.length();
		if (one.length()==two.length())
		{
			return one.compareTo(two);
		}
		return value;
	}
}



© 著作权归作者所有

共有 人打赏支持
上一篇: socket编程
chenruibing
粉丝 12
博文 203
码字总数 109101
作品 0
潮州
私信 提问
Java的XML操作类库--JDOM

JDOM是一个Java语言用来读写 XML 文档的类库。JDOM 与现行的SAX 和DOM标准兼容,为Java 程序员提供了一个简单、轻量的XML文档操作方法。由于JDOM是专门为Java 程序员开发的,所以采用许多Jav...

匿名
2008/09/09
6.7K
0
【java代码之美】---guava之Immutable(不可变)集合

Immutable(不可变)集合 一、概述 guava是google的一个库,弥补了java语言的很多方面的不足,很多在java8中已有实现,暂时不展开。Collections是jdk提供的一个工具类。 Guava中不可变对象和C...

雨点的名字
2018/08/02
0
0
Collection接口和Collections类的简单区别和讲解

1.Collection: 是集合类的上层接口。本身是一个Interface,里面包含了一些集合的基本操作 Collection接口时Set接口和List接口的父接口 里面的常用操作有如下内容: 2.Collections Collections...

YoungBoyG
2016/03/22
18
0
Android 面试题总结 Java基础篇

1.public,private,protected,以及不写时的区别? public >为公共成员变量和函数成员,在整个类内类外都可使用,在子类变为public private >为私有成员变量和函数成员,只在声明的类内可以使用...

派赛克
2016/05/05
37
0
集合系列

1、关于集合的两道面试题 先来看几道题目: 1、创建一个不可变的的集合: 可以看到,创建不可变集合主要是调用了Collections的unmodifiableSet()方法,而Collections类通过装饰模式实现了对一...

小菜鸡1
2016/08/17
64
0

没有更多内容

加载失败,请刷新页面

加载更多

Jmeter参数的AES加密使用

在Jmeter日常实践中,大家应该都遇到过接口传参需要加密的情况。以登陆为例,用户名和密码一般都需要进行加密传输,在服务端再进行解密,这样安全系数会更高,但在使用jmeter进行接口测试的时...

程序猿拿Q
23分钟前
2
0
MYSQL 日期函数 Date and Time Functions

Table 12.13 Date and Time Functions Name Description ADDDATE() Add time values (intervals) to a date value ADDTIME() Add time CONVERT_TZ() Convert from one time zone to another ......

_liucui_
29分钟前
2
0
Android代码混淆ProGuard工作原理简介

ProGuard能够对Java类中的代码进行压缩(Shrink),优化(Optimize),混淆(Obfuscate),预检(Preveirfy)。    1. 压缩(Shrink): 在压缩处理这一步中,用于检测和删除没有使用的类,字段...

SuShine
32分钟前
1
0
Idea 2018激活

教程地址: https://www.52pojie.cn/thread-781394-1-1.html 亲测可用

一个不正经的程序员
37分钟前
1
0
Android组件化开发实践和案例分享

目录介绍 1.为什么要组件化 1.1 为什么要组件化 1.2 现阶段遇到的问题 2.组件化的概念 2.1 什么是组件化 2.2 区分模块化与组件化 2.3 组件化优势好处 2.4 区分组件化和插件化 2.5 applicatio...

潇湘剑雨
38分钟前
0
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部