Collections中的常用方法
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中的常用方法的更多相关文章
- Java从入门到放弃18---Map集合/HashMap/LinkedHashMap/TreeMap/集合嵌套/Collections工具类常用方法
Java从入门到放弃18—Map集合/HashMap/LinkedHashMap/TreeMap/集合嵌套/Collections工具类常用方法01 Map集合Map集合处理键值映射关系的数据为了方便 ...
- Java实战之02Hibernate-03Session中的常用方法
九.Session中的常用方法 1.save方法 都是临时态————>持久态 2.persist方法 作用: 持久化临时态对象. 与save方法的区别: 开始了事务:persist和save没有 ...
- Python元类实践--自己定义一个和collections中一样的namedtuple
大家可能很熟悉在collections模块中有一个很好用的扩展数据类型-namedtuple. 如果你还不知道这个类型,那么请翻看标准手册. 我利用元类轻松定义一个namedtuple. 先把代码贴上 ...
- javascript中数组常用方法总结
原文:javascript中数组常用方法总结 在javascript的基础编程中,数组是我们最常遇到的,那么数组的一些常用方法也是我们必须要掌握的,下面我们总结一下数组中常用的方法. toString ...
- python3 开发面试题(collections中的Counter)6.7
''' 编写Python脚本,分析xx.log文件,按域名统计访问次数 xx.log文件内容如下: https://www.sogo.com/ale.html https://www.qq.com/3 ...
- python中os常用方法
python中OS常用方法 Python的标准库中的os模块包含普遍的操作系统功能.如果你希望你的程序能够与平台无关的话,这个模块是尤为重要的.即它允许一个程序在编写后不需要任何改动,也不会发生任何问 ...
- Java中的常用方法
Java中的常用方法 第一章 字符串 1.获取字符串的长度:length() 2.判断字符串的前缀或后缀与已知字符串是否相同 前缀 startsWith(String s).后缀 endsWit ...
- Java多线程中的常用方法
本文将带你讲诉Java多线程中的常用方法 Java多线程中的常用方法有如下几个 start,run,sleep,wait,notify,notifyAll,join,isAlive,current ...
- JavaScript中Math常用方法
title: JavaScript中Math常用方法 toc: false date: 2018-10-13 12:19:31 Math.E --2.718281828459045,算数常量e Mat ...
随机推荐
- H3C设置时间--用户视图下
<H3C>clock datetime ? TIME Specify the time (HH:MM:SS) <H3C>clock datetime 19:29:00 ? ...
- gu集合
离散型随机变量的一切可能的取值 与对应的概率 乘积之和称为该离散型随机变量的数学期望,本题期望是概率乘得分之和 数列是递增的,可以枚举第二小的数,假设选第i个数为第2小的数,则第1小的数有i-1种 ...
- 使用Glide加载圆角图片
//设置图片圆角角度 RoundedCorners roundedCorners= new RoundedCorners(6); //通过RequestOptions扩展功能,override采样率, ...
- 解决IDEA下tomcat启动server乱码
亲测成功的方式: 配置TOMCAT时,在VM opthions 添加 -Dfile.encoding=UTF-8
- 编写自己的JDBC框架(转)
一.元数据介绍 元数据指的是"数据库"."表"."列"的定义信息. 1.1.DataBaseMetaData元数据 Connection.g ...
- java环境所遇问题
在javac能运行通过并且生成了.class文件但是java文件在运行时通不过出现上面图片情况,试了一上午发现我的和别人好像不一样,下面展示我的情况, 之前用户变量那里新建了一个classpath,不 ...
- 基于python的二分搜索和例题
二分搜索 二分概念 二分搜索是一种在有序数组中查找某一特定元素的搜索算法. 搜索过程从数组的中间元素开始,如果中间元素正好是要查找的元素,则搜索过程结束: 如果某一特定元素大于或者小于中间元素,则在数 ...
- 工厂设计模式灵魂拷问-Java实现
show me the code and take to me,做的出来更要说的明白 GitHub项目JavaHouse同步收录 喜欢就点个赞呗! 你的支持是我分享的动力! 引入 我们经常听到工厂模式 ...
- jquery中为动态增加的元素添加事件
// html代码 <ul id="main"> </ul> // js代码 $(function(){ // 动态添加html代码 $("#ma ...
- 开启 Django 博客的 RSS 功能
作者:HelloGitHub-追梦人物 文中所涉及的示例代码,已同步更新到 HelloGitHub-Team 仓库 博客提供 RSS 订阅应该是标配,这样读者就可以通过一些聚合阅读工具订阅你的博客,时 ...