`

可变集合求交集

    博客分类:
  • java
 
阅读更多

今天在设计一个接口的时候,接口传递过来的是一个数组,根据数组中的参数去库中查询是否可变更,将可变更的参数再以数组的形式返回给对方。用到了集合求交集的一些东西

 

首先直接获取的是一个数组,并以数组去库中查询,获取的是一个list,没办法,只有将以前的数组用Arrays.asList转换成一个list,利用list.retainAll(dbList)获取两个集合的交集。这个时候抛出了UnsupportedOperationException的异常。反过来使用dbList.retainAll(list)就没有问题了,后来查了一下api发现Arrays.asList是返回一个指定大小的list,这个list是不可变更的(是一个只读的list)。他和Collections.toArray方法提供数组到list之间的转换。

 

分享到:
评论

相关推荐

    02-python-字典-集合-不可变集合-赋值机制

    在Python编程语言中,字典、集合和不可变集合是三种重要的数据结构,它们各自具有独特的特性和用途。本篇文章将深入探讨这些概念,并详细解释它们的赋值机制。 首先,我们来了解一下**字典(Dictionary)**。字典是...

    python集合是否可变总结

    set —— 可变集合。集合中的元素可以动态的增加或删除。 frozenset —— 不可变集合。集合中的元素不可改变。 注:对于 并集, 交集, 差集 等的返回值,与最左边的操作数具有相同的类型。例如:s & t 取交集。s...

    Python程序设计:集合的概念与创建.pptx

    集合分为可变集合和不可变集合,对于可变集合可以添加和删除集合元素,但其中的元素本身却是不可修改的,因此集合的元素只能是数值、字符串或元组。可变集合不能作为其他集合的元素或为字典的关键字使用,不可变集合...

    Python集合(Set):一种无序、可变的数据结构

    Python集合(Set)是Python语言中的一种数据结构,它的特点是无序、可变,并且不允许存储重复元素。集合是通过大括号{}或`set()`函数来创建的,可以容纳不同类型的元素,如数字、字符串等。集合在Python中有着广泛的...

    java集合与通用集合

    在J2SDK集合框架中,`Collections`类作为辅助类,提供了许多静态方法,用于集合的各种操作,如查找最大最小元素、排序、创建不可变集合、同步化集合以及创建不可更改的视图等。这些方法极大地提高了代码的可读性和...

    实变函数集合标准答案.doc

    《实变函数集合标准答案》文档涉及的是数学领域中的实变函数理论,主要围绕集合的定义、性质及其运用来展开。这一章节对于理解和掌握实变函数理论至关重要,因为集合论是现代数学的基础。 首先,本章介绍了集合的...

    实变函数集合标准答案解析.doc

    《实变函数集合标准答案解析》的文档涵盖了实变函数中的集合论基础知识,包括集合的定义、表示方法、集合运算以及相关的理论证明。以下是详细的知识点解析: 1. **集合概念与运算**: - 集合是包含特定对象的总体...

    java集合框架的使用。集合的运算

    2. 求子集:Java集合框架中的subSet()方法可用于获取集合的子集。例如,如果你有一个ArrayList,你可以获取它的某个范围作为子集: ```java List<String> list = new ArrayList(Arrays.asList("A", "B", "C", "D", ...

    Python中set与frozenset方法和区别详解

    set(可变集合)与frozenset(不可变集合)的区别: set无序排序且不重复,是可变的,有add(),remove()等方法。既然是可变的,所以它不存在哈希值。基本功能包括关系测试和消除重复元素. 集合对象还支持union(联合)...

    Python语法:集合.rar

    在"Python语法:集合.mp4"视频中,你可以期待涵盖这些基本概念以及更高级的集合用法,例如集合推导式、集合的更新方法(update()、add()、remove()等)和集合的内置函数(如frozenset()用于创建不可变集合)。...

    使用集合组织相关数据

    3. **可变性**:集合可以进行添加、删除元素等操作,因此它是可变的数据结构。 4. **容器性**:集合可以包含任何不可变类型的数据,如整数、浮点数、字符串、元组等。 二、集合的创建与操作 创建一个集合,可以使用...

    06-1: Python课程 教程 进阶 实战 集合:基础操作、内存分配、数据运算、固定集合

    - 不可变性:集合中的元素必须是不可变的,如数字、字符串和元组。尝试添加可变对象(如列表)会引发错误。 - 内存占用:集合会为每个元素分配唯一的内存地址,因此即使有重复元素,集合也只存储一次。 3. 数据...

    Python基础教程字典和集合.pptx

    集合是由一组互不相同的元素构成的无序集合,分为可变集合(set)和不可变集合(frozenset)。 - 可变集合(set)可以进行添加、删除元素的操作。 - 不可变集合(frozenset)一旦创建,就不能修改其内容。 创建...

    java中关于集合的操作

    数组长度固定,而集合的大小可变;数组支持下标访问,集合则通过迭代器访问。 10. **集合的最佳实践**: - 根据需求选择适当的集合类型:有序、无序、是否允许重复等。 - 使用泛型避免类型转换异常。 - 在多...

    JAVA集合试题库.pdf

    - **集合**:长度可变,只能存储引用类型(对象),支持不同类型的对象存储在同一集合中。 **数据结构与抽象层次:** Java中的集合类基于不同的数据结构实现,如链表、数组、哈希表、树等。这些集合类虽然内部实现...

    python源码集合处理技术

    集合提供了丰富的集合运算方法,比如求并集的union(),求交集的intersection(),求差集的difference()等。 元组是另一种有序的数据结构,但与列表不同,元组一旦创建就不能修改,即它是不可变的。元组同样可以包含...

    集合 和 哈希表的实例

    3. **可变性**:集合是可变的,可以添加、删除元素。 例如,以下是一个简单的Python集合操作示例: ```python s = set([1, 2, 3, 4, 5]) s.add(6) # 添加元素 s.remove(3) # 删除元素 print(s.intersection({2, 4, ...

    数据结构C语言版顺序表的集合运算

    可以使用动态内存分配创建可变大小的顺序表,避免一次性加载整个数据集。 - **排序**:对表进行排序可以提高某些集合运算的效率,比如交集和差集。排序后可以使用二分查找,降低时间复杂度。 - **哈希表**:使用...

Global site tag (gtag.js) - Google Analytics