文档章节

Collections专门操作集合的类

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

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;
	}
}



© 著作权归作者所有

共有 人打赏支持
chenruibing
粉丝 12
博文 203
码字总数 109101
作品 0
潮州
Java 集合系列01之 总体框架

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

东方神剑
2015/12/16
32
0
Java的XML操作类库--JDOM

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

匿名
2008/09/09
6.7K
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
Java中的Set, List, Map漫谈

在编程语言中,集合是指代表一组对象的对象。Java平台专门有一个集合框架(Collections Framework)。集合框架是指表示和操作集合的统一架构,隔离了集合的操作和实现细节。 集合框架中的集合接...

无敌西瓜
2014/01/03
0
0
集合系列

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

小菜鸡1
2016/08/17
64
0
【JAVA集合框架一 】java集合框架官方介绍 Collections Framework Overview 集合框架总览 翻译 javase8 集合官方文档中文版

原文链接: https://docs.oracle.com/javase/8/docs/technotes/guides/collections/overview.html 原文内容也一并附加在本文最后. 简介: Java平台包含一个集合框架。 集合是表示一组对象的对象...

noteless
07/06
0
0
Java基础-----集合工具类Collections

Collections类是Java提供的对集合进行操作的工具类;这个类不能生成实例,因为构造器是private;提供的方法都是static方法; 1、提供空的List、Set、Map,不能够进行任何操作,因为它们都是C...

baibuxiha
2016/03/23
126
0
ConcurrentHashMap 、HashTable

java集合类中非线程安全的集合可以用同步包装器使集合变成线程安全,比如: HashMap --> Collections.synchronizedMap(new HashMap()), 那如果比较Collections.synchronizedMap(new HashMap...

八戒_o
2016/01/05
83
0
java集合框架总结(七)

一、Collections 简介 Collections 是一个操作 Set、List 和 Map 等集合的工具类 Collections 中提供了大量方法对集合元素进行排序、查询和修改等操作,还提供了对集合对象设置不可变、对集合...

hapier
2016/09/09
39
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

OSChina 周三乱弹 —— 你被我从 osc 老婆们名单中踢出了

Osc乱弹歌单(2018)请戳(这里) 【今日歌曲】 @小鱼丁:分享五月天的单曲《后来的我们 (电影《后来的我们》片名曲)》: 《后来的我们 (电影《后来的我们》片名曲)》- 五月天 手机党少年们想...

小小编辑
5分钟前
1
1
Spring Boot Admin 2.0开箱体验

概述 在我之前的 《Spring Boot应用监控实战》 一文中,讲述了如何利用 Spring Boot Admin 1.5.X 版本来可视化地监控 Spring Boot 应用。说时迟,那时快,现在 Spring Boot Admin 都更新到 ...

CodeSheep
24分钟前
0
0
Python + Selenium + Chrome 使用代理 auth 的用户名密码授权

米扑代理,全球领导的代理品牌,专注代理行业近十年,提供开放、私密、独享代理,并可免费试用 米扑代理官网:https://proxy.mimvp.com 本文示例,是结合米扑代理的私密、独享、开放代理,专...

sunboy2050
今天
0
0
实现异步有哪些方法

有哪些方法可以实现异步呢? 方式一:java 线程池 示例: @Test public final void test_ThreadPool() throws InterruptedException { ScheduledThreadPoolExecutor scheduledThre......

黄威
今天
1
0
linux服务器修改mtu值优化cpu

一、jumbo frames 相关 1、什么是jumbo frames Jumbo frames 是指比标准Ethernet Frames长的frame,即比1518/1522 bit大的frames,Jumbo frame的大小是每个设备厂商规定的,不属于IEEE标准;...

六库科技
今天
0
0
牛客网刷题

1. 二维数组中的查找(难度:易) 题目描述 在一个二维数组中(每个一维数组的长度相同),每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入...

大不了敲一辈子代码
今天
0
0
linux系统的任务计划、服务管理

linux任务计划cron 在linux下,有时候要在我们不在的时候执行一项命令,或启动一个脚本,可以使用任务计划cron功能。 任务计划要用crontab命令完成 选项: -u 指定某个用户,不加-u表示当前用...

黄昏残影
昨天
0
0
设计模式:单例模式

单例模式的定义是确保某个类在任何情况下都只有一个实例,并且需要提供一个全局的访问点供调用者访问该实例的一种模式。 实现以上模式基于以下必须遵守的两点: 1.构造方法私有化 2.提供一个...

人觉非常君
昨天
0
0
《Linux Perf Master》Edition 0.4 发布

在线阅读:https://riboseyim.gitbook.io/perf 在线阅读:https://www.gitbook.com/book/riboseyim/linux-perf-master/details 百度网盘【pdf、mobi、ePub】:https://pan.baidu.com/s/1C20T......

RiboseYim
昨天
1
0
conda 换源

https://mirrors.tuna.tsinghua.edu.cn/help/anaconda/ conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/conda config --add channels https://mir......

阿豪boy
昨天
1
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部