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转换相关推荐

  1. javabean实体类与实体类之间的快速转换

    一.Dozer是什么? dozer是一个能把实体和实体之间进行转换的工具.只要建立好映射关系.就像是ORM的数据库和实体映射一样. 使用方法示例如下: // article(PO) -> art ...

  2. C++ 笔记(35)— std::to_string 转换整形数字为字符串

    1. 函数原型 string to_string (int val); string to_string (long val); string to_string (long long val); s ...

  3. C++ OJ 中多行数据输入(大小写转换、通过移位运算实现2的n次方、多组输入,每行输入数量不一样)

    1. 多组输入,输出每行最大值 while(cin>>a>>b) 主要解决的是两个为一组的多组数据输入,当一次只输入一个数据时就用 while(cin>>a) 输入 ...

  4. 数据结构(02)— 时间复杂度与空间复杂度转换

    1. 时间复杂度转化为空间复杂度 常用的降低时间复杂度的方法有递归.二分法.排序算法.动态规划等,降低空间复杂度的核心思路就是,能用低复杂度的数据结构能解决问题,就千万不要用高复杂度的数据结构. ​ ...

  5. NumPy — 创建全零、全1、空、arange 数组,array 对象类型,astype 转换数据类型,数组和标量以及数组之间的运算,NumPy 数组共享内存

    NumPy 简介 一个用 python 实现的科学计算包.包括: 1.一个强大的 N 维数组对象 Array : 2.比较成熟的(广播)函数库: 3.用于整合 C/C++ 和 Fortran 代码的工 ...

  6. Python+OpenCV 图像处理系列(7)—— 图像色彩空间及转换

    1. 色彩空间转换函数 cv2.cvtColor(img, cv2.COLOR_BGR2GRAY) 第一个参数为加载在内存的读片,第二个参数为转换的类型,其中包括: COLOR_BGR2GRAY = ...

  7. 【C#】类——里式转换

    类是由面对对象程序设计中产生的,在面向结构的程序设计例如C语言中是没有类这个概念的!C语言中有传值调用和传址调用的两种方式!在c语言中,主方法调用方法,通过传递参数等完成一些操作,其中比较常用的的数据 ...

  8. shell 批量转换文件编码

    相信大家在平时的跨平台编程中碰到过文件编码问题,比如在Windows代码字符编码方式是GB2312,然而转到Linux却只支持utf-8,虽然对代码部分没啥影响,但是很多中文注释部分,却一片乱码,很让 ...

  9. tensorflow2.0 基础一 常用数据类型及转换

    版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明. 本文链接:https://blog.csdn.net/weixin_43619065/arti ...

  10. Pytorch | BERT模型实现,提供转换脚本【横扫NLP】

    <谷歌终于开源BERT代码:3 亿参数量,机器之心全面解读>,上周推送的这篇文章,全面解读基于TensorFlow实现的BERT代码.现在,PyTorch用户的福利来了:一个名为Huggi ...

最新文章

  1. sql update 日期减6个月_【干货】SQL基础快速入门
  2. SDNU 1019.礼物(水题)
  3. C# char[]与string之间的相互转换
  4. java里面的 |运算符_Java 中 | ^ 运算符的简单使用
  5. HTML+CSS+JS实现 ❤️canvas手机刮刮乐女朋友效果❤️
  6. (116)System Verilog类合成(类包含关系)详解
  7. 句句真研—每日长难句打卡Day5
  8. NFC是什么功能?有哪些使用场景?
  9. 如何求两个矢量间的夹角
  10. 计算指定人数班级的班级平均成绩(计数器控制控制的循环)
  11. setTimeout(), nextTick(),setImmediate()区别 ZT~
  12. 【物流选址】基于matlab佛洛依德算法求解物流选址问题【含Matlab源码 892期】
  13. Eclipse XML 编辑器
  14. MCU通过UART实现OTA在线升级流程
  15. XDU暑训2019 Day4 POJ2387
  16. dht11 新手原理详解(附代码)
  17. Redis锁解决超卖问题
  18. 用python画钢铁侠_秒变钢铁侠,这个暑假,用 Python 让自己成为超级英雄!
  19. 百度网盘linux版本怎么安装
  20. MATLAB长除法求z变换逆变换

热门文章

  1. python画大耳朵图图_简笔画教程:怎么画大耳朵图图
  2. 手机玩刺激战场显示服务器连接异常,绝地求生刺激战场网络异常怎么办 波动异常解决...
  3. 如何RPG使用魔法攻击时扣除魔法值
  4. 微擎怎么不注册站点就能安装小程序应用
  5. ERP实施-生产模块-报废率测试及用途总结
  6. 通过图新地球将GPS信息写入照片
  7. TwinCAT在init->pre op ->safe op->op模式切换时的error caode说明
  8. overleaf编辑表格
  9. Ubuntu 安装ATI显卡驱动12.4失败的解决方法
  10. 整数二进制中1的个数