文档章节

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 集合系列01之 总体框架

Java集合是java提供的工具包,包含了常用的数据结构:集合、链表、队列、栈、数组、映射等。Java集合工具包位置是java.util.* Java集合主要可以划分为4个部分:List列表、Set集合、Map映射、...

东方神剑
2015/12/16
32
0
【java代码之美】---guava之Immutable(不可变)集合

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

雨点的名字
08/02
0
0
Java的XML操作类库--JDOM

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

匿名
2008/09/09
6.7K
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

没有更多内容

加载失败,请刷新页面

加载更多

AI赋能一键自动检测:页面异常、控件异常、文本异常

摘要: 1.前言 闲鱼质量团队一直致力于交付高质量的app给用户,当前随着AI技术不断发展,TensorFlow大热,也给测试手段带来了更多种可能,本文接下来给大家介绍AI在闲鱼测试的一点实践:如何...

阿里云官方博客
19分钟前
0
0
Microsoft Remote Desktop For Mac

地址:https://rink.hockeyapp.net/apps/5e0c144289a51fca2d3bfa39ce7f2b06/ 解决国内App store不能下载的问题。

Cheuker
30分钟前
1
0
原地打印刷新(倒计时)

原地打印刷新(倒计时) 代码如下 from time import sleepfor i in reversed(range(1, 11)): print("\r倒计时:{}秒".format(i), end="") sleep(1)...

_Change_
43分钟前
0
0
php,vue,vue-ssr 做出来的页面有什么区别?

欢迎大家前往腾讯云+社区,获取更多腾讯海量技术实践干货哦~ 本文由shirishiyue发表于云+社区专栏 目前我这边的web页面,都是采用php+smarty模板生成的,是一种比较早期的开发模式。好处是没...

腾讯云加社区
49分钟前
2
0
安卓的切图规范

Android UI 切图命名规范、标注规范及单位描述 很多UI设计师做APP切图都会有两套,一套是Android的,一套是IOS的。IOS我这边暂不作讲解,因为我本人也不是开发IOS。这里整理一下我在Android...

mo311
53分钟前
4
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部