set和list转换_list和set

set和list转换_list和setset集合元素唯一,无序;list集合元素可以重复,有序。1、set转list:数据保持不变,顺序发生变化,可以使用Collections.sort进行排序(Collections.shuffle随机排序,Collections.reverse反转顺序)。2、list转set:去除重复数据,只保留一个。转成linkedHashSet时,原顺序不变;转成treeSet可以排序

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE稳定放心使用

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);
}
}
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/183496.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)
blank

相关推荐

  • awvs扫描器原理_条形码扫描器现在无法使用

    awvs扫描器原理_条形码扫描器现在无法使用AWVSAWVS(WebVulnerabilityScanner)是一个自动化的Web应用程序安全测试工具,它可以扫描任何可通过Web浏览器访问的和遵循HTTP/HTTPS规则的Web站点和Web应用程序。适用于任何中小型和大型企业的内联网、外延网和面向客户、雇员、厂商和其它人员的Web网站。WVS可以通过检查SQL注入攻击漏洞、XSS跨站脚本攻击漏洞等漏洞来审核Web应用程序的安全性。AWVS功能介绍WebScanner:核心功能,web安全漏洞扫描(深度,宽度,限制20个)Site

  • Android修改字体_android设置字体样式

    Android修改字体_android设置字体样式1.将需要添加的ttf字体文件放在frameworks/base/data/fonts/目录A:frameworks/base/data/fonts/clock_thin.ttf2.修改frameworks/base/data/fonts/Android.mk文件,将字体文件编译到system/fonts/目录中M:frameworks/base/data/fonts/Android.mkfont_src_files:=\AndroidClock.ttf\clo

  • 最受欢迎的8个Python框架,满足你的各类需求「建议收藏」

    最受欢迎的8个Python框架,满足你的各类需求「建议收藏」今天给大家分享几个最受欢迎的Python框架。这些框架包括Web开发,高性能网络通信,测试,爬虫等等,如果你正在学习Python,那么应该可以满足你。1DjangoDjango应该是最出名的Python框架,是一款在数据库功能、后台功能、模板系统、网址匹配、缓存系统等方面有“先天”优势的开源框架。它可以通过几行简单的代码就让你的网站拥有一个强大的后台,轻松管理你的内容;强大,易扩展的模板系统,设计简易,代码,样式分开设计,更容易管理。小编整理的一整套系统的p-ython学习教程从最基础的

  • Google虚拟机_免费google账号

    Google虚拟机_免费google账号 GoogleAppEngine是Google推出的免费虚拟主机空间,其实这比一般虚拟主机强悍的多,你可以利用GoogleAppEngine工具来开发网站或制作网络应用程序,Google会在自己的庞大服务器集群上为你提供空间、带宽、资源等。目前GoogleAppEngine为每个用户提供10个Application(简称App),每个App有500M免费空间,每个App限制100

    2022年10月15日
  • Java安全之Commons Collections1分析前置知识

    Java安全之CommonsCollections1分析前置知识0x00前言CommonsCollections的利用链也被称为cc链,在学习反序列化漏洞必不可少的一个部分。ApacheC

    2021年12月12日
  • 线程的IsBackground属性「建议收藏」

    线程的IsBackground属性「建议收藏」.Net的公用语言运行时(CommonLanguageRuntime,CLR)能区分两种不同类型的线程:前台线程和后台线程。这两者的区别就是:应用程序必须运行完所有的前台线程才可以退出;而对于后台线程,应用程序则可以不考虑其是否已经运行完毕而直接退出,所有的后台线程在应用程序退出时都会自动结束。.net环境使用Thread建立的线程默认情况下是前台线程,即线程属性IsBackground=

    2022年10月17日

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号