collections中的常用方法

public class CollectionsTest {

    public static void main(String[] args) {
List list = new ArrayList();
list.add(432);
list.add(23);
list.add(7);
list.add(234);
list.add(65);
list.add(78);
list.add(32);
list.add(54);
System.out.println("排序:" + sort(list)); //list2必须大于等于list的size,list的size始终指的是元素的多少和容量无关
List<Integer> list2 = new ArrayList<Integer>();
list2.add(1);
list2.add(1);
list2.add(1);
list2.add(1);
list2.add(1);
list2.add(1);
list2.add(1);
list2.add(1);
list2.add(1);
list2.add(1);
//true,浅copy
System.out.println("复制:" + copy(list2, list)); List<Integer> list3 = new ArrayList<Integer>();
list3.add(1);
System.out.println("所有元素都不同吗? " + disjoint(list, list3)); fill(list2,10);
System.out.println("全部替换成10:"+list2); System.out.println("含有几个10:"+frequency(list2, 10)); //必须是连续出现,有一个元素不同就是—1 ----lastIndexOfSubList(List<?> source, List<?> target)
System.out.println("该集合出现的下标:"+indexOfSubList(Arrays.asList(1,2,3,4), Arrays.asList(2,8))); //在指定列表的指定位置处交换元素 0 和 2下标 交换
List<Integer> list1 = Arrays.asList(1, 2, 3);
Collections.swap(list1, 0, 2);
System.out.println("1,2,3交换0和2:"+list1); //reverse(List<?> list) 反转list ,可指定一个comparator //replaceAll(List<T> list, T oldVal, T newVal)使用另一个值替换列表中出现的所有某一指定值。 //返回由指定对象的 n 个副本组成的不可变列表
List<Integer> list4 = Collections.nCopies(3, 5);
System.out.println("三个5:"+list4); //也可以指定自定义comparator,还有min()一样的
System.out.println(list1+"中最大值:"+Collections.max(list1));
} /**
* 排序
*
* @param list
* @return
*/
private static List<Integer> sort(List<Integer> list) {
Collections.sort(list, (a, b) -> b - a);
return list;
} /**
* copy将所有元素从一个列表复制到另一个列表。
*
* @param dest
* @param src
* @return
*/
private static boolean copy(List<Integer> dest, List<Integer> src) {
Collections.copy(dest, src);
System.out.println(dest.get(0));
System.out.println(dest.get(dest.size() - 1));
return dest.get(0) == src.get(0);
} /**
* 如果两个指定 collection 中没有相同的元素,则返回 true。
*
* @param list
* @param src
* @return
*/
private static boolean disjoint(List<Integer> list, List<Integer> src) {
return Collections.disjoint(list, src);
} /**使用指定元素替换指定列表中的所有元素。
* @param list
* @param replace
*/
private static void fill(List<Integer> list, Integer replace) {
Collections.fill(list, replace);
} /**
* 返回指定 collection 中等于指定对象的元素数。
* @param list2
* @param containNum
*/
private static int frequency(List<Integer> list2, int containNum) {
return Collections.frequency(list2, containNum);
} /**
* 返回指定源列表中第一次出现指定目标列表的起始位置;如果没有出现这样的列表,则返回 -1。
* @param source
* @param target
* @return
*/
private static int indexOfSubList(List<?> source, List<?> target) {
return Collections.indexOfSubList(source, target);
}
}

Collections中的常用方法的更多相关文章

  1. Java从入门到放弃18---Map集合/HashMap/LinkedHashMap/TreeMap/集合嵌套/Collections工具类常用方法

    Java从入门到放弃18—Map集合/HashMap/LinkedHashMap/TreeMap/集合嵌套/Collections工具类常用方法01 Map集合Map集合处理键值映射关系的数据为了方便 ...

  2. Java实战之02Hibernate-03Session中的常用方法

    九.Session中的常用方法 1.save方法 都是临时态————>持久态 2.persist方法 作用: 持久化临时态对象. 与save方法的区别: 开始了事务:persist和save没有 ...

  3. Python元类实践--自己定义一个和collections中一样的namedtuple

    大家可能很熟悉在collections模块中有一个很好用的扩展数据类型-namedtuple. 如果你还不知道这个类型,那么请翻看标准手册. 我利用元类轻松定义一个namedtuple. 先把代码贴上 ...

  4. javascript中数组常用方法总结

    原文:javascript中数组常用方法总结 在javascript的基础编程中,数组是我们最常遇到的,那么数组的一些常用方法也是我们必须要掌握的,下面我们总结一下数组中常用的方法. toString ...

  5. python3 开发面试题(collections中的Counter)6.7

    ''' 编写Python脚本,分析xx.log文件,按域名统计访问次数 xx.log文件内容如下: https://www.sogo.com/ale.html https://www.qq.com/3 ...

  6. python中os常用方法

    python中OS常用方法 Python的标准库中的os模块包含普遍的操作系统功能.如果你希望你的程序能够与平台无关的话,这个模块是尤为重要的.即它允许一个程序在编写后不需要任何改动,也不会发生任何问 ...

  7. Java中的常用方法

    Java中的常用方法 第一章 字符串 1.获取字符串的长度:length() 2.判断字符串的前缀或后缀与已知字符串是否相同    前缀 startsWith(String s).后缀 endsWit ...

  8. Java多线程中的常用方法

    本文将带你讲诉Java多线程中的常用方法   Java多线程中的常用方法有如下几个 start,run,sleep,wait,notify,notifyAll,join,isAlive,current ...

  9. JavaScript中Math常用方法

    title: JavaScript中Math常用方法 toc: false date: 2018-10-13 12:19:31 Math.E --2.718281828459045,算数常量e Mat ...

随机推荐

  1. [Linux] 使用awk比较两个文件的内容

    当需要比较A , B两个文件 , A文件中存在 , 并且把也在B文件中存在的行去除掉 , 可以使用这个awk的用法来 awk  '{if(ARGIND==1) {val[$0]}else{if($0 ...

  2. apache WEB服务器安装(包括虚拟主机)

    一.apache下载编译安装 yum install apr apr-devel apr-util apr-util-devel gcc-c++ wget tar -y cd /usr/src wge ...

  3. ASP.NET WebForm Identity使用

    环境 win10企业版x64+visual studio 2017+.net 4.5 step1 基本使用+邮件确认+密码重置 https://docs.microsoft.com/en-us/asp ...

  4. mapper的配置文件

    <?xml version="1.0" encoding="UTF-8" ?><!DOCTYPE mapperPUBLIC "-// ...

  5. IntelliJ IDEA+springboot+jdbctemplet+easyui+maven+oracle搭建简易开发框架(一)

    前言: 这两天为了巩固easyui的各个控件用法,搭建了一个简易的框架用于开发,大家可以用来参考,如果发现文章中有哪些不正确不合理的地方,也请各位不吝赐教,感激不尽.文章最下面有源码,可以用于参考.整 ...

  6. redis 集群模式

    redis cluster 介绍 自动将数据进行分片,每个 master 上放一部分数据 提供内置的高可用支持,部分 master 不可用时,还是可以继续工作的 在 redis cluster 架构下 ...

  7. 【他山之石】mybatis打印sql日志 相关配置

    背景:mybatis的sql日志打印对我来说一直比较迷,哪怕看过网上很多博客后还是这样,这两天刚好又遇到了问题,要查sql不得已又来查阅,这次终于搞定了. mybatis是有提供日志功能支持的,目前支 ...

  8. Codeforces Round #524 (Div. 2)(前三题题解)

    这场比赛手速场+数学场,像我这样读题都读不大懂的蒟蒻表示呵呵呵. 第四题搞了半天,大概想出来了,但来不及(中途家里网炸了)查错,于是我交了两次丢了100分.幸亏这次没有掉rating. 比赛传送门:h ...

  9. Flutter 不能热加载,热重载按钮灰色,无法点击,flutter doctor 显示NO_PROXY is not set

    一.现象: Flutter 不能热加载 热重载按钮灰色,无法点击. 二.分析原因: 终端 flutter doctor 显示 NO_PROXY is not set 没有设置无代理的端口 终端:flu ...

  10. Pandas 数据分析,高中体测练习

    分析体测成绩 需求: 体侧成绩转变成分数 开卷考试 excel完成可以 pandas读取excel代码中 完成 一个手输入 进一步,画图,分布,体重正常,肥胖,偏瘦比例,绘制饼图 男生跑步1000成绩 ...