集合的常用形式的简单创建

05、基于ALV表报实现复选框、全选、取消全选等功能 基于Function ALV实现复选框、全选及取消全选等功能 阅读详情

1 前言

在写业务的时候,我们经常碰到对集合的使用,并经常使用其多种状态等等,今天小记一下最顺手的实现方式,以便开发中使用。

2 创建空集合

在包 java.util.Collections下提供的静态方法;
  • 创建空List:List<T> emptyList()
  • 创建空Map:Map<K, V> emptyMap()
  • 创建空Set:Set<T> emptySet()

注意:返回的空集合是不可变集合,无法向其中添加或删除元素。

3 创建单元素集合

在包 java.util.Collections下提供的静态方法;
  • 创建一个元素的List:List<T> singletonList(T o)
  • 创建一个元素的Map:Map<K, V> singletonMap(K key, V value)
  • 创建一个元素的Set:Set<T> singleton(T o)

注意:返回的集合是不可变集合,无法向其中添加或删除元素。

4 创建多元素集合 

在包 java.util.Arrays下提供的静态方法;
  • 创建多元素的List:List<T>  asList(T....a)

注意:返回的集合是不可变集合,无法向其中添加或删除元素。

5 List转Map

5.1.收集对象实体本身

  • 在开发过程中我们也需要有时候对自己的list中的实体按照其中的一个字段进行分组(比如 id ->List),这时候要设置map的value值是实体本身
    public Map<Long, Account> getIdAccountMap(List<Account> accounts) {
        return accounts.stream().collect(Collectors.toMap(Account::getId,Function.identity()));
    }

注意: 此方法最好是选中Map的key的字段是唯一的,要不然这时候流的处理会抛出个异常:Java.lang.IllegalStateException:Duplicate key。这时候就要在toMap方法中指定当key冲突时key的选择。(这里是选择第二个key覆盖第一个key)

public Map<String, Account> getNameAccountMap(List<Account> accounts) {
    return accounts.stream().collect(Collectors.toMap(Account::getUsername, Function.identity(), (key1, key2) -> key2));
}

特别说明:如果Map的key选中的字段不能保证唯一,那就用stream流的Collectors.groupingBy()方法。具体用法JAVA8新特性之Stream API_jothan的博客-优快云博客1 前言1.1 对Stream流的个人理解:①它和IO流是不一样的;②它是对数据源(集合,数组等)进行一系列的中间操作,产生一个新的流或者说我们想要的结果,并且对数据源不产生影响。③集合讲的是数据,流讲的是计算。1.2Stream流操作的三个步骤创建Stream中间操作:对数据源数据进行处理终端操作:执行中间操作,并产生结果注意: 从终端操作可以看出stream流是延迟执行的,只有执行终端操作(想要需要的结果)的时候才执行中间操作2 下面我们对Stream的三个步骤一一说明2https://blog.youkuaiyun.com/studyhard_/article/details/107594865

5.2.收集对象为实体的某个属性

public Map<Long, String> getIdNameMap(List<Account> accounts) {
    return accounts.stream().collect(Collectors.toMap(Account::getId, Account::getUsername));
}
 
  • 其中第一个参数就是key,第二个参数(value)就是实体属性的值。 

6 完结 

【ROS】usb_cam相机标定 1. 唠叨两句 当我们要用相机做测量用途时,就需要做相机标定了,不然得到的计算结果会有很大误差,标定的内容包括三部分:内参,外参还有畸变参数。所以标定的过程就是要求得上面这些参数。 以前弄这个事估计挺麻烦,需要做实验和计算才能得到,现在通过ros的开源包几分钟就能完成相机标定,感激! 具体的内外参和畸变系数的说明,可以看看Reference里面的第一个链接,写得很详细。 2. 准备工作 要准备三样东西: usb_cam的ROS启动包 相机标定的ROS包 还有一个用于标定的棋盘格 1)usb_cam启动包 阅读详情

相关推荐

SAP MM自动化进阶:STO交货单自动创建的配置与优化

本文深入解析了SAP MM模块中实现公司间库存调拨订单(STO)交货单自动创建的完整配置流程与优化策略。通过激活自动交货与绑定发货点两大核心配置,打通自动化链路。重点探讨了如何集成ATP可用性检查以智能处理库存不足等异常场景,确保自动化流程的可靠性与业务贴合度,并提供了进阶监控与问题排查方法,助力企业显著提升供应链效率。

weixin_29206669的博客 124

集合创建方法

1.直接创建   创建集合的方式很简单,只需将逗号分隔的不同元素使用大括号括起来即可。 例如: a_set = {1, 2, 3, 4} # 创建集合并赋值 print(a_set) b_set = {2, 1, 3, 4, 1, 2} # 创建集合并赋值 print(b_set) 2.使用set()函数  set()函数:将列表、元组等其他类型的数据转换为集合,如果原来的数据中存在重复元素,则在转换为集合时会将其删除。 例如: x = set('runoob') # 将字符串转换为集合 pri

m0_72184861的博客 4096

从选卡到验证:CST仿真GPU加速全流程实战指南

本文详细介绍了CST仿真中GPU加速的全流程实战指南,从硬件选型到软件配置,再到性能验证和常见问题排查。通过对比专业卡与游戏卡的性能差异,提供硬件选型建议,并分享驱动安装、关键设置及CST软件配置的黄金法则,帮助用户显著提升仿真效率。

weixin_30650039的博客 394

java如何创建空集合_Java如何创建空的集合对象?

有时您需要从Java方法返回一个空集合。java.util.Collections实用工具类具有创建空的三个不同的静态常量List,Set和Map。Collections.EMPTY_LISTCollections.EMPTY_SETCollections.EMPTY_MAP当您要创建类型安全的空集合时,还有一些方法。Collections.emptyList()Collections.empty...

weixin_39580727的博客 1万+

manimgl安装

安装manimgl

happytree001的博客 706

EEG | CHB-MIT癫痫数据集CNN分类实战(一)

CHB-MIT癫痫数据集CNN分类实战

Always learn from the best. 1万+

集合的创建,及常用方法

集合的创建,应用

yfq_29的博客 1212

Mplus—验证性因素分析(Confirmatory Factor Analysis, CFA)

介绍一阶和二阶验证性因素分析概况及在Mplus中的操作方法。

m0_54401011的博客 1万+

Java集合

概述 集合类的特点:提供一种存储空间可变的存储模型,存储的数据容量可以发生改变 ArrayList ArrayList<E>: 可调节大小的数组实现 <E>是一种特殊的数据类型,泛型。 怎么用? 在出现E的地方我们使用引用数据类型替换即可 例如:ArrayList<String>,ArrayList<Student> ArrayList构造方法和添加方法 方法名 说明 public ArrayList(); 创建一个空的集合

遇见你 的博客 1819

【光伏风电功率预测】基于 ICEEMDAN + MSCNN-BiGRU-Attention 的并行预测模型

本文提出一种基于ICEEMDAN分解与多尺度深度学习的光伏/风电功率并行预测框架。针对多能源、多时间尺度、强非平稳特性带来的建模挑战,该模型首先通过改进的ICEEMDAN算法将原始功率序列分解为不同频段的IMF分量;随后为每个IMF构建包含多尺度CNN、双向GRU和注意力机制的子模型,实现局部特征提取与时序依赖建模;最后通过并行预测与重构获得最终功率输出。实验表明,该方法能有效解决模式混叠问题,提升预测精度,并支持光伏/风电的独立或联合预测部署,适用于风光联合调度等工程场景。

专注AI大模型,软件混淆,授权 154

深度强化学习调参技巧:以DQN、DDPG、TD3、PPO、SAC等算法为例

深度强化学习调参技巧:以D3QN、DDPG、TD3、PPO、SAC算法为例

丨汀、的博客 3443

四种方法创建list列表

一、使用基本语法[]创建 a = [] print(a) #结果,创建空的列表 [] b = [1,2,“abc”] print(b) #结果:[1, 2, ‘abc’] print(b[2]) #结果:abc 二、list()创建 c = list() print© #结果:创建一个空的列表 c.append(1) print© #结果:[1] c = list(“abcdefg”) print© #结果:[‘a’, ‘b’, ‘c’, ‘d’, ‘e’, ‘

linux_tcpdump的博客 1万+

作为一名爬虫人如何实现千万级数据爬取?

爬虫门槛不高,高就高在往后余生的每一次实操都随时会让你崩溃!Bro

吴秋霖的博客 1万+

python创建一个空集合_Python中如何创建集合

#创作者招募令#第六十七节:创建集合集合作为序列形式的一种,在Python中也有应用。先来看看集合在数学中的定义:集合(aggregate)是“确定的一堆东西”,集合里的“东西”则称为元素。而现代的集合一般被定义为:由一个或多个确定的元素所构成的整体。在Python中,集合就是用来保存不同的元素的序列,它最好的应用就是去重,因为集合中的每一个元素都是唯一的。集合分为两种:可变集合(set)和不可变...

weixin_39843847的博客 5442

Outlook Express 6 (OE6) for Win7/Win8/Win10

英文版 Outlook Express6.0, 兼容Win7/Win10/WinXP,解压就可用。

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

集合的创建

{'不', '的', '望', '是', '给', ',', '我', '。', '酒', '会', '杯', '运', '们', '予', '而', '失', '机', '命', '之'}如果是字符串,返回的集合将是包含全部不重复字符的集合。python = {'绮梦','冷伊一','香凝','梓轩'} # 保存选择Python语言的学生姓名。python = set(['绮梦','冷伊一','香凝','梓轩']) # 保存选择Python语言的学生姓名。

橙子味冰可乐的博客 1004

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

MongoDB集合的创建与删除操作方式

在MongoDB中,集合是文档的组。与关系数据库中的表不同,MongoDB的集合不要求文档具有相同的结构。每个文档都是一个JSON-like格式的对象,可以包含不同的字段。这种灵活性使得MongoDB非常适合处理多变的数据结构,尤其是在现代应用程序中。MongoDB的集合创建与删除操作是数据库管理中不可或缺的部分。通过自动创建和显式创建集合,开发者可以灵活管理数据结构。删除集合操作则是数据管理的重要环节,虽然简单,但需要谨慎处理。在设计数据结构时,合理规划集合的使用。

My_wife_QBL的博客 2042

pscad IEEE标准系统搭建说明

pscad IEEE标准系统搭建说明,包含典型的IEEE 9节点、14节点、30节点、39节点和118节点系统。内含标准测试系统的原始数据和潮流结果。

python创建集合set()_Python 集合set

可变集合set集合set是Python中一种基本数据类型,它分为可变集合(set)和不可变集合(frozenset)两种。类似于其他语言,集合是一个无序不重复元素集,包括创建集合set、向集合中添加元素、删除集合中的元素、求集合的交集、并集、差集等操作。下面就让我们一一来学习集合的这些知识吧。1、set创建集合set集合类需要的参数必须是迭代器类型的,如:序列、字典等,然后转换成无序不重复的元素集...

weixin_29491635的博客 3405

java创建集合的常用格式

创建集合的常用格式: 导包:import java.util.ArrayList; 创建对象:与其他普通的引用数据类型创建方式完全相同,但是要指定容器中存储的数据类型: ArrayList<要存储元素的数据类型>变量名= new ArrayList<要存储元素的数据类型>(); 集合中存储的元素,只能为<>括号中指定的数据类型元素; “&...

weixin_30462049的博客 1192

Java中集合的创建及其运用场景

是一个后进先出的集合,适用于需要栈操作的场景,如括号匹配、表达式求值等。接口,可以作为双端队列使用,适用于需要频繁从两端添加或删除元素的场景。是一个不允许重复元素的集合,没有索引,元素的顺序不确定(除了。基于哈希表实现,查找、添加和删除操作的时间复杂度为 O(1)。基于哈希表实现,查找、添加和删除操作的时间复杂度为 O(1)。是一个有序集合,允许重复的元素,可以通过索引访问元素。保留了元素的插入顺序,适用于需要去重且保持顺序的场景。是一个键值对的集合,键是唯一的,但值可以重复。

studyinstall的博客 1070

元组、字典、集合

元组跟列表有很多相似的地方,元组也是一种数据容器,列表中许多函数换到元组中来也同样适用。元组和列表存放的数据集都是差不多的,最大的区别是元组是不可变的,列表可变,元组的书写是圆括号(),列表的书写是中括号[]。元组的不可变体现在,元组的元素不能被修改,删除和添加。对于元组内部的不可变元素,如数字,字符串,元组等我们都不能修改它的值。但是对于一些可变元素,如列表,我们可以对列表内部的元素就行修改,但不能改变列表本身的属性,就是列表内的元素不管怎样修改,它本身是列表是必须的。

Lonelinessser的博客 1108

python什么是集合,Python:什么是集合?集合常用操作有哪些?

大家好,我是IT共享者,人称皮皮。今天给大家来捋一捋Python集合。一、什么是集合?集合(set)和字典(dict)类似,它是一组 key 的集合,但不存储 value。集合的特性就是:key 不能重复。二、集合常用操作1. 创建集合set 的创建可以使用 {} 也可以使用 set 函数:s1 = {'a', 'b', 'c', 'a', 'd', 'b'} # 使用 {}print(s1)(...

weixin_31533759的博客 1593

python集合常用方法_Python篇-集合

一 : 集合简介集合是一个无序不重复元素的序列。表现方式 : {} 与 set其中创建一个空集合必须用 set() 而不是 { },因为 { } 是用来创建一个空字典。集合的概念与数学上的集合一样,其特性在此不再赘述,主要讲一下它在python中的使用.初始化集合的两种方式 :firstf={1,2,3,4,5,3}seconds=set('hello')二 : 集合常用方法ad...

weixin_39827728的博客 179

python创建集合set()_python 之集合{}(Set)

集合#集合set 是装有独特值的无序“袋子”。一个简单的集合可以包含任何数据类型的值。如果有两个集合,则可以执行像联合、交集以及集合求差等标准集合运算。创建集合#重中之重。创建集合非常简单。①要创建只包含一个值的集合,仅需将该值放置于花括号之间。({})。②实际上,集合以 类 的形式实现,但目前还无须考虑这一点。③要创建多值集合,请将值用逗号分开,并用花括号将所有值包裹起来。还可以 列表 为基础创...

weixin_39524247的博客 1116

Java集合 之 单列集合

java的单列集合,看这一篇就够了

qq_73698057的博客 3086

Python 基础 集合的创建与访问

1.直接创建集合 集合的创建和字典有点类似,也是直接把元素放在一个大括号里: {元素1,元素2……} 元素不可变,如果是可变的列表,就不能放入集合之中 元素之间也要保证互不相同 2.使用set()函数创建集合 用函数set()来讲序列转换为集合,在转换的过程中,充分的元素只会保留一个。 >>>s2=set([1,2,4,2,1,5]) >>>s2 [1,2,4,5] 注意 不能将一个整数转换成集合,但是可以将一个字符串转换为集合。比如说“hello”可以拆成集合中

qq_45326185的博客 1855

Kotlin之集合的创建

许多现代高级语言在很早之前就开始支持Lambda编程,但是Java到JDK 1.8之后才开始支持,导致大量早期Java和Android开发并未使用Lambda编程的特性 而Kotlin从第一个版本就开始了对Lambda的支持,并且Kotlin中的Lambda极为强大,我们从本章开始来进行Lambda的入门 集合的创建与遍历 集合的函数式API是用来入门Lambda的绝佳示例 传统意义上的集合主要是List和Set,再广泛的话Map这样包括键值对的也可以包含进来 List的主要实现类是ArrayList和Li

非猿 1695
上一篇: Spring @Value(“#{}“)和@Value(“${}“)
下一篇: Money 工具类
jothan_lee
博客等级 码龄9年 30粉丝 58原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值