-
List与List比较的问题5
List biglist; List smalllist;
两个List
smalllist是biglist的子集
怎么比较List里面存的对象相同呢?
大家说一说方便一点的方法?
谢谢
问题补充:
我想确认的是把LIST中相同的找出来
smalllist是大LIST的子集2008年11月10日 14:36
13个答案 按时间排序 按投票排序
-
采纳的答案
org.apache.commons.collections.CollectionUtils工具类
CollectionUtils.isEqualCollection(biglist,smalllist)
2008年11月10日 14:43
-
import java.util.List; import java.util.ArrayList; public class Test { public static void main(String[] args) { List bigList = new ArrayList(); bigList.add(new Integer(1)); bigList.add(new Integer(2)); bigList.add(new Integer(3)); List smallList = new ArrayList(); smallList.add(new Integer(1)); smallList.add(new Integer(3)); if (bigList.containsAll(smallList)) System.out.println("smallList is a subset of bigList"); else System.out.println("smallList is not a subset of bigList"); smallList.add(new Integer(4)); if (bigList.containsAll(smallList)) System.out.println("smallList is a subset of bigList"); else System.out.println("smallList is not a subset of bigList"); } }
下面是containAll的实现:public boolean containsAll(Collection<?> c) { Iterator<?> e = c.iterator(); while (e.hasNext()) if(!contains(e.next())) return false; return true; }
2008年11月10日 16:43
-
如果注重效率的话,不能使用两次循环的方法。
这是肯定的,如果碰到两次循环、三次循环它的复杂度是O(M*N)、O(M*N*P)
所以最好的方法是把二次循环变成两个一次循环,这样效率上会大大提升2008年11月10日 16:16
-
如果是这样的话,比较快的方法就是先把两个List中的元素排序
然后将smallList中的元素与bigList中的元素进行比较
因为按照数据结构的说法,查找有序队列是最快的2008年11月10日 15:52
-
可以这样:
//不考虑元素顺序是否相同 public static List getSameElement(List a,List b){ List sameElementList = null; for(Object tem : a){ if(b.contains(tem)){//包含tem元素 if(sameElementList == null){ sameElementList = new ArrayList(); } sameElementList.add(tem); } } return sameElementList ; }
2008年11月10日 15:35
-
楼主是不是想问怎么确认smalllist是不是biglist的子集?
biglist.containsAll(smalllist)
2008年11月10日 14:50
-
List a ; for(int i=0;i<biglist.size();i++){ for(int j=0;j<smalllist.size();j++){ if(==){ a.add(***); } } }
最简单的2008年11月10日 14:45
-
List本身就包含一个取交集的方法..retainAll(Collection<?> c)
这个方法会保存仅在列表中保留指定 collection 中所包含的元素2008年11月10日 14:43
-
写一个静态方法,随处可以使用:
//不考虑元素顺序是否相同 public static boolean isSame(List a,List b){ if(a.size() != b.size()){ return false;//先比较个数 } for(Object tem : a){ if(!b.contains(tem)){//不包含tem元素 return false; } } return true; }
2008年11月10日 14:43
相关推荐
list 元素循环比较list 元素循环比较list 元素循环比较list 元素循环比较list 元素循环比较list 元素循环比较
在编程领域,特别是涉及到数据操作的时候,`list` 是一种常用的数据结构,它在Python、JavaScript等语言中广泛使用。`list to list` 操作通常指的是将一个列表(list)的内容移动到另一个列表中,这可能涉及到列表的...
如果T是可比较的类型(如int, string等),可以使用`Sort`方法对列表进行排序: ```csharp numbers.Sort(); // 默认升序排序 ``` **10. 反转List<T>:** 使用`Reverse`方法反转列表中的元素顺序: ```csharp ...
2. **比较与去除重复项**: - 使用双重循环来逐个比较两个列表中的元素。 - 如果发现两个列表中有相同的`Student`对象,则从第一个列表中移除该对象。 - 移除后需要更新循环变量,以避免遗漏元素。 3. **使用`...
在Python编程语言中,列表(list)是一种非常重要的数据结构,它可以存储任意类型的对象,包括数字、字符串,甚至是其他列表。当我们谈论“list嵌套list”时,这意味着在一个列表内部包含了一个或多个列表,这样的...
本知识点重点讲解将List转换为List的过程,这在进行Web开发、数据处理以及与前端交互等场景中非常常见。同时,也会涉及List转换为List及list转换为JsonArray的内容。 ### List转换为List 在Java中,Bean通常指的是...
C语言头文件 LISTC语言头文件 LISTC语言头文件 LISTC语言头文件 LISTC语言头文件 LISTC语言头文件 LISTC语言头文件 LISTC语言头文件 LISTC语言头文件 LISTC语言头文件 LISTC语言头文件 LISTC语言头文件 LISTC语言...
### Spring MVC 无法直接接收 List 类型参数的问题详解 #### 问题背景 在 Web 开发过程中,前后端数据交互是必不可少的一部分。对于基于 Java 的 Spring MVC 框架而言,处理这种交互通常需要理解如何正确地接收前端...
List对象的分页思想是一种常用的数据处理技术,通过将一个大的List对象分割成多个小的List对象,每个小的List对象包含一定数量的元素,可以用于解决大规模数据的处理问题,例如批量处理、数据分页等。 Java中List...
一、List对象中的T是值类型的情况(int 类型等) 对于值类型的List直接用以下方法就可以复制: List<T> oldList = new List(); oldList.Add(..); List<T> newList = new List(oldList); 二、List对象中的T是引用...
此方法用于比较两个对象是否相等。 **示例代码:** ```scala val list1 = List(1, 2, 3) val list2 = List(1, 2, 3) val equalLists = list1.equals(list2) // 结果为 true ``` #### 16. `def exists(p: (A) => ...
将一个比较大的list分割为多个小的list,可以解决mybatis批量插⼊数据list超过⼀定长度时报错的解决办法
`TlistStudy.identcache` 和 `TlistStudy.dproj.local` 是Delphi项目的配置和状态文件,它们通常不直接与 `TList` 的使用有关,而是帮助编译器和IDE保持项目配置和本地状态。 `TlistStudy.exe` 是最终生成的应用...
在.NET框架中,C#是一种常用的编程语言,...总的来说,理解和熟练掌握C#的List和Linq的分组与筛选功能,对于开发高效且易维护的WinForm应用至关重要。通过正确地组织和操作数据,可以极大地提升用户体验和开发效率。
java 数组转list list转数组 list数组互转 java8 代码示例
此外,虽然这种方式可以解决临时存储List的问题,但它并不适合大量或频繁的数据操作,因为SharedPreferences不是设计来处理复杂数据结构的。对于复杂数据存储,推荐使用SQLite数据库或者Room库,或者使用现代的云...
Java将2个List集合合并到一个List里面并排序工具类 1、Java编程资源,定义了一个名为`ListMerger`的工具类,主要包含一个名为`mergeAndSortLists`的静态方法。此方法用于将两个已经根据... 6、有任何问题可私信博主。
- 文件同步:Alist支持设置定时任务,定期同步网盘与本地目录,确保数据一致性。 - 权限管理:根据需求设置不同网盘目录的访问权限,保护个人隐私。 - 快速搜索:内置搜索引擎可以快速查找网盘中的文件,提高查找...
private static List<dynamic> DynamicLinq(List<T> list, List<string> DimensionList, string DynamicColumn, out List<string> AllDynamicColumn) where T : class { // ... } ``` 3. DynamicLinq方法的实现 ...
C语言头文件 LIST.HC语言头文件 LIST.HC语言头文件 LIST.HC语言头文件 LIST.HC语言头文件 LIST.HC语言头文件 LIST.HC语言头文件 LIST.HC语言头文件 LIST.HC语言头文件 LIST.HC语言头文件 LIST.HC语言头文件 LIST.HC...