Set与List转换
set集合元素唯一,无序;list集合元素可以重复,有序。
1、set转list:数据保持不变,顺序发生变化,可以使用Collections.sort进行排序(Collections.shuffle 随机排序,Collections.reverse 反转顺序)。
2、list转set:去除重复数据,只保留一个。转成linkedHashSet时,原顺序不变;转成treeSet可以排序,转成hashSet无序。
package set;import java.util.ArrayList; import java.util.Collections; import java.util.HashSet; import java.util.LinkedHashSet; import java.util.LinkedList; import java.util.List; import java.util.Set; import java.util.Vector;public class ReverseLinkedHashSet {public static void main(String args[]){testSetConvertList();testListConvertSet();}static void testSetConvertList(){Set<Integer> hashSet = new HashSet<Integer>();Set<Integer> linkedHashSet = new LinkedHashSet<Integer>();for(int i=1 ;i<20;i++){hashSet.add(i);linkedHashSet.add(i);}System.out.println("hashSet: "+hashSet);System.out.println("linkedHashSet: "+linkedHashSet);List<Integer> hashSetList = new ArrayList<Integer>(hashSet);List<Integer> linkedHashSetList = new ArrayList<Integer>(linkedHashSet);System.out.println("hashSet转list集合: "+hashSetList);System.out.println("linkedHashSet转list集合: "+linkedHashSetList);Collections.reverse(linkedHashSetList);System.out.println("反转排序linkedHashSetList集合: "+linkedHashSetList);}@SuppressWarnings("serial")static void testListConvertSet(){List<Integer> vector = new Vector<Integer>();List<Integer> linkedList = new LinkedList<Integer>();List<Integer> dataList1 = new LinkedList<Integer>(){{add(1);add(2);add(2);add(4);add(5);}};List<Integer> dataList2 = new LinkedList<Integer>(){{add(7);add(6);add(16);add(17);add(18);add(19);add(19);}};List<Integer> dataList3 = new LinkedList<Integer>(){{add(11);add(12);add(13);add(14);add(15);}};vector.addAll(dataList1);vector.addAll(dataList2);vector.addAll(dataList3);linkedList.addAll(dataList1);linkedList.addAll(dataList2);linkedList.addAll(dataList3);System.out.println("vector: "+vector);System.out.println("linkedList: "+linkedList);Collections.sort(vector);System.out.println("排序vector: "+vector);Collections.shuffle(vector);System.out.println("随机排序vector: "+vector);Collections.sort(vector);System.out.println("排序vector: "+vector);Collections.reverse(vector);System.out.println("反转排序vector: "+vector);Set<Integer> hashSet = new HashSet<Integer>(linkedList);Set<Integer> linkedSet = new LinkedHashSet<Integer>(linkedList);System.out.println("hashSet: "+hashSet);System.out.println("linkedSet: "+linkedSet);} }
转载于:https://www.cnblogs.com/wcj112/p/3580699.html
Set与List转换相关推荐
- javabean实体类与实体类之间的快速转换
一.Dozer是什么? dozer是一个能把实体和实体之间进行转换的工具.只要建立好映射关系.就像是ORM的数据库和实体映射一样. 使用方法示例如下: // article(PO) -> art ...
- C++ 笔记(35)— std::to_string 转换整形数字为字符串
1. 函数原型 string to_string (int val); string to_string (long val); string to_string (long long val); s ...
- C++ OJ 中多行数据输入(大小写转换、通过移位运算实现2的n次方、多组输入,每行输入数量不一样)
1. 多组输入,输出每行最大值 while(cin>>a>>b) 主要解决的是两个为一组的多组数据输入,当一次只输入一个数据时就用 while(cin>>a) 输入 ...
- 数据结构(02)— 时间复杂度与空间复杂度转换
1. 时间复杂度转化为空间复杂度 常用的降低时间复杂度的方法有递归.二分法.排序算法.动态规划等,降低空间复杂度的核心思路就是,能用低复杂度的数据结构能解决问题,就千万不要用高复杂度的数据结构. ...
- NumPy — 创建全零、全1、空、arange 数组,array 对象类型,astype 转换数据类型,数组和标量以及数组之间的运算,NumPy 数组共享内存
NumPy 简介 一个用 python 实现的科学计算包.包括: 1.一个强大的 N 维数组对象 Array : 2.比较成熟的(广播)函数库: 3.用于整合 C/C++ 和 Fortran 代码的工 ...
- Python+OpenCV 图像处理系列(7)—— 图像色彩空间及转换
1. 色彩空间转换函数 cv2.cvtColor(img, cv2.COLOR_BGR2GRAY) 第一个参数为加载在内存的读片,第二个参数为转换的类型,其中包括: COLOR_BGR2GRAY = ...
- 【C#】类——里式转换
类是由面对对象程序设计中产生的,在面向结构的程序设计例如C语言中是没有类这个概念的!C语言中有传值调用和传址调用的两种方式!在c语言中,主方法调用方法,通过传递参数等完成一些操作,其中比较常用的的数据 ...
- shell 批量转换文件编码
相信大家在平时的跨平台编程中碰到过文件编码问题,比如在Windows代码字符编码方式是GB2312,然而转到Linux却只支持utf-8,虽然对代码部分没啥影响,但是很多中文注释部分,却一片乱码,很让 ...
- tensorflow2.0 基础一 常用数据类型及转换
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明. 本文链接:https://blog.csdn.net/weixin_43619065/arti ...
- Pytorch | BERT模型实现,提供转换脚本【横扫NLP】
<谷歌终于开源BERT代码:3 亿参数量,机器之心全面解读>,上周推送的这篇文章,全面解读基于TensorFlow实现的BERT代码.现在,PyTorch用户的福利来了:一个名为Huggi ...
最新文章
- sql update 日期减6个月_【干货】SQL基础快速入门
- SDNU 1019.礼物(水题)
- C# char[]与string之间的相互转换
- java里面的 |运算符_Java 中 | ^ 运算符的简单使用
- HTML+CSS+JS实现 ❤️canvas手机刮刮乐女朋友效果❤️
- (116)System Verilog类合成(类包含关系)详解
- 句句真研—每日长难句打卡Day5
- NFC是什么功能?有哪些使用场景?
- 如何求两个矢量间的夹角
- 计算指定人数班级的班级平均成绩(计数器控制控制的循环)
- setTimeout(), nextTick(),setImmediate()区别 ZT~
- 【物流选址】基于matlab佛洛依德算法求解物流选址问题【含Matlab源码 892期】
- Eclipse XML 编辑器
- MCU通过UART实现OTA在线升级流程
- XDU暑训2019 Day4 POJ2387
- dht11 新手原理详解(附代码)
- Redis锁解决超卖问题
- 用python画钢铁侠_秒变钢铁侠,这个暑假,用 Python 让自己成为超级英雄!
- 百度网盘linux版本怎么安装
- MATLAB长除法求z变换逆变换