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

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

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 物联网智能家居系统设计方案(想开一家智能产品店)

    物联网智能家居系统1.需求分析、原理/基础准备1.1实验目的1.2基本功能1.3模块功能描述1.3.1主功能函数模块1.3.2串口通信模块1.3.3电机模块1.3.4时间获取模块1.3.5温湿度光电模块1.3.6烟雾模块1.3.7PWM调光模块1.3.8灯泡模块2.概要设计说明2.1模块调用图3.详细设计说明(各部分成员分工部分)3.1主程序模块3.2通信模块3.3串口模块3.4PWM调光模…

    2022年4月12日
    28
  • 用Python串口实时显示数据并绘图pyqtgraph(详细教程)

    用Python串口实时显示数据并绘图pyqtgraph(详细教程)

    2020年11月8日
    467
  • fpga学习——zynq图像处理中的DVP流接口封装

    fpga学习——zynq图像处理中的DVP流接口封装之前文章介绍了基于zynq的图像处理架构问题。其中,作为开发者,需要重点关注图像传感器接口、处理算法、显示接口,这些模块。现在我们一同学习用于视频数据接口的DVP模块,并将其封装成AXI-stream接口便于直接和VDMAIP通信。DVP_AXIstreamIPv1.0使用说明1.设计概述•用于cmos传感器视频数据采集,将cmos输出的8位视频数据拼接成RGB565模式•AXI_stream主机接口,用于和PS端内存的数据交互•基于vivado18.3软件设计2.模块分析

    2022年5月31日
    72
  • 写给那些没有用过oracle存储过程但又准备学习的同志们

    写给那些没有用过oracle存储过程但又准备学习的同志们公司属于外包公司,公司所用的是oracle数据库,所以,避免不了操作oracle数据库,而且动不动就是调用存储过程,但是发现一个问题,对于存储过程的学习还是有相对有限的系统性的学习资料。都是一些零碎的学习资料,东一榔头西一棒槌。所以本人在这里就给大家操作一波存储过程,从基础语法到java程序调用存储过程。这几篇文章只是学习的起步,但又是学习存储过程至关重要的一个环节,相信你看完这篇文章可以说是对存…

    2022年7月17日
    25
  • 博客园博客背景图片设置

    博客园博客背景图片设置首先在博客园后台管理页面的相册上传自己想要设置背景的图片:上传完成之后点击该图片进去:看到大图再通过控制台获取路径然后转到设置:加上如下代码:最后效果:

    2022年7月4日
    18
  • SpringCloud之服务网关Gateway[通俗易懂]

    SpringCloud之服务网关Gateway[通俗易懂]前言SpringCloud是微服务中的翘楚,最佳的落地方案。SpringCloudGateway是SpringCloud新推出的网关框架,之前是NetflixZuul。网关通常在项目中为了简化前端的调用逻辑,同时也简化内部服务之间互相调用的复杂度;具体作用就是转发服务,接收并转发所有内外部的客户端调用;其他常见的功能还有权限认证,限流控制等等。…

    2022年5月21日
    31

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

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