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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • hostapd.conf配置文档「建议收藏」

    hostapd.conf配置文档「建议收藏」#####hostapdconfigurationfile###############################################Emptylinesandlinesstartingwith#areignored#APnetdevicename(without’ap’postfix,i.e.,wlan0useswl

    2022年5月21日
    39
  • 公司里面常说的“BP”,“BU”到底是什么意思?

    在很多外企中,会经常说到一些专有名词,比如各BU,某BP。你知道这两个英文简写的含义吗?来看今天这些外企常用的表达吧。BU=BusinessUnit,业务单元一般公司里都会有不同的部门,如教育公司会有中小学事业部、外教事业部、大学生事业部、成人事业部等。对于多业务的集团性公司来说,每个部门都是一个BUSINESSUNIT,也就是独立完成一件事情的小组或部门。VolvoM…

    2022年4月5日
    318
  • 一步步学习SPD2010–第二章节–处理SP网站(7)—- 导航网站的内容

    一步步学习SPD2010–第二章节–处理SP网站(7)—- 导航网站的内容在之前版本的SPD中,你能自定义和管理的主要是文件。在SPD2010中,你还可以管理其他SP对象,如网站列、内容类型,外部内容类型和工作流。内容类型和网站列是建造默认列表和库的块儿。网站列引入了全局栏目定义概念。SPFoundation和SPServer,在你创建网站集的时候,伴随着SP安装带来一系列默认网站列。这些网站列被分组到内容类型,它们有…

    2022年6月16日
    39
  • Spring Data JPA 之 JpaRepository

    Spring Data JPA 之 JpaRepositoryJpaRepository是Spring提供的非常强大的基本接口。1JpaRepository1.1JpaRepository接口定义JpaRepository接口的官方定义如下:publicinterfaceJpaRepository&lt;T,ID&gt;extendsPagingAndSortingRepository&lt;T,ID&gt;,Q…

    2022年10月20日
    3
  • 在windows cgywinportable上,通过运行linux命令,批量改动文件名。

    在windows cgywinportable上,通过运行linux命令,批量改动文件名。

    2022年3月3日
    43
  • 【ArcGIS二次开发】Engine界面搭建[通俗易懂]

    【ArcGIS二次开发】Engine界面搭建[通俗易懂]文章目录一、新建窗体项目WindowsAppplication(Engine)二、添加menuStrip、statusStrip和ToolbarControl控件,并设置相应的Dock属性三、用SplitContainer控件把显示区域分成三部分,并设置splitContatiner1的Orientation属性为Horizontal四、添加TabControl控件①添加TabControl控件到splitContatiner1.Panel1,并设置Dock属性为Fill②设置TabPages属性,添加一

    2022年7月23日
    8

发表回复

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

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