`
befairy
  • 浏览: 37414 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

求2个List里面的交集并输出(List并不一定是String类型的)----Java程序

阅读更多
package number;

import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
import java.util.Scanner;
import java.util.Set;
import java.util.TreeSet;

public class Test {


public static void TestChars(){
List list1=new ArrayList();
List list2=new ArrayList();
List list3=new ArrayList();

// list1.add("3");
// list1.add("4");
// list1.add("j");
// list1.add("mn");
// list1.add("n");
System.out.println("请输入list1中的五个元素:");
for(int k=0;k<5;k++){
Scanner s=new Scanner(System.in);
list1.add(s.nextLine());
}
Set b=new TreeSet(list1);
        Iterator it = b.iterator();
        for(;it.hasNext();){
        System.out.print(it.next());
        }
        System.out.println();
       
list2.add("4");
list2.add("5");
list2.add("j");
list2.add("c");
list2.add("mn");
list2.add("2");

Set c=new TreeSet(list2);
        Iterator itr = c.iterator();
        for(;itr.hasNext();){
        System.out.print(itr.next());
        }
        System.out.println();

int max=list1.size()>list2.size()?list1.size():list2.size();
System.out.println("The max is:"+max);

for(int i=0;i<max;i++){
if(list1.size()==max){
if(list2.contains(list1.get(i))){
list3.add(list1.get(i));

}
}else {
if(list1.contains(list2.get(i))){
list3.add(list2.get(i));

}
}
}


for(int j=0;j<list3.size();j++){
System.out.print(list3.get(j));
}

    }
public static void main(String[] args){
Test test =new Test();
test.TestChars();
}

}
分享到:
评论

相关推荐

    java 中list 和map 混合使用。求补集

    使用两个list&lt;Map&lt;String,String&gt;&gt; 求交集和补集。

    【Java代码之美】 -- Java必会的工具库,减少代码量的利器(csdn)————程序.pdf

    Java集合框架提供了`retainAll`方法,可以用来找出两个List的交集: ```java List&lt;String&gt; list1 = ...; List&lt;String&gt; list2 = ...; list1.retainAll(list2); ``` ### 2. Apache Commons 工具类库 Apache Commons...

    Java redis五种数据类型在Java中的详细使用

    集合存储不重复的元素,支持交集、并集和差集等操作。使用`sadd()`添加元素,`smembers()`获取所有元素。 ```java jedis.sadd("set1", "element1", "element2"); Set&lt;String&gt; set1 = jedis.smembers("set1"); `...

    Java8 Stream对两个 List 遍历匹配数据的优化处理操作

    Java8 Stream对两个List遍历匹配数据的优化处理操作 Java8 Stream是一个功能强大的数据处理工具,它可以对数据进行处理、过滤、聚合和转换等操作。在本文中,我们将探讨如何使用Java8 Stream来对两个List进行遍历和...

    java jsonarray 踢重 去重操作

    在Java中处理JSON数据时,经常需要对JSON数组进行各种操作,其中去重是一个常见的需求。本文将详细介绍如何使用Java对`JSONArray`进行去重操作,并深入探讨背后的原理和技术细节。 ### JSON与Java JSON...

    程序设计-我们的数据类型.pptx

    在“程序设计-我们的数据类型.pptx”这个文件中,我们很可能会探讨到不同编程语言中常见的数据类型及其应用。下面将详细阐述这些知识点。 1. 基本数据类型: - 整型(Integer):如int,用于存储整数值,如-2、0、...

    两个List集合取相同重复数据的方法

    如果list1和list2是String类型的List集合,我们也可以使用这个方法来获取它们的交集。 这篇文章分享了如何使用Java编程语言从两个List集合中提取相同的重复数据。这个方法可以用于任何类型的List集合,并且可以方便...

    用Visual Studio代码构建Java应用程序.pdf

    以示例项目Concatenate为例,在`Concatenate.java`类中编写以下代码实现两个列表的交集计算: ```java public class Concatenate { public static void main(String[] args) { if (args.length &lt; 2) { System....

    Linq两个List集合取交集的实现

    假设我们有一个自定义类型`Person`,并希望基于姓名来比较对象: ```csharp public class Person { public string Name { get; set; } } public class PersonComparer : IEqualityComparer { public bool Equals...

    redis-core-java.zip

    和Memcached类似,它支持存储的value类型相对更多,包括string(字符串)、list(链表)、set(集合)、zset(sorted set --有序集合)和hash(哈希类型)。这些数据类型都支持push/pop、add/remove及取交集并集和差集及更...

    java操作redis

    - **排序与集合运算**:除了基本的数据结构操作外,Redis 还支持对数据进行排序、求交集、并集和差集等操作。 #### 二、Redis 的特性 - **内存存储与持久化**:虽然 Redis 主要在内存中运行以确保高性能,但它也...

    互联网软件开发(java)大作业题目备选.docx

    在这个问题中,你需要编写一个Java程序,处理给定的字符串集合,并合并其中交集非空的集合,确保合并后各集合间无交集。解决方案可以分为以下几个步骤: - 分析问题:首先,对输入的集合进行解析,转化为Java数据...

    Java集合并交差运算[汇编].pdf

    4. `addAll(SinglyList list)`方法:这是求交集的过程,遍历两个链表,找到相同的元素,并将其添加到`union`列表中,同时将结果以字符串形式返回。 5. `union(SinglyList list)`方法:求并集,遍历第一个链表,如果...

    js代码-判断两个JSON LIST是否有交集

    如果JSON对象的属性顺序不一致,或者包含不可哈希的类型(如数组、函数等),则可能无法正确识别交集。 在实际开发中,为了提高性能,还可以考虑将数据结构转换为更利于查询的形式,比如使用`Map`或`Set`。在大量...

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

    Java集合框架是Java编程语言中一个非常重要的组成部分,它为开发者提供了存储和操作对象的统一接口和类。这个框架使得处理各种数据结构变得更加方便和高效。在这个“java集合框架的使用”主题中,我们将深入探讨如何...

    java操作redis所需jar包五个

    和Memcached类似,它支持存储的value类型相对更多,包括string(字符串)、list(链表)、set(集合)和zset(有序集合)。这些数据类型都支持push/pop、add/remove及取交集并集和差集及更丰富的操作,而且这些操作都是原子...

    Redis-x64-5.0.10

    它支持存储的value类型很多,包括string(字符串)、list(链表)、set(集合)、zset(sorted set --有序集合)和hash(哈希类型)。这些数据类型都支持push/pop、add/remove及取交集并集和差集及更丰富的操作,而且这些...

    全国ITAT大赛复赛编程

    每个集合都是一个`Set&lt;String&gt;`类型的对象。 2. **遍历比较**:通过双重循环遍历列表中的所有集合,比较每一对集合是否存在交集。 - 如果存在交集,则执行合并操作。 - 如果不存在交集,则跳过这对集合。 3. **...

    Java 集合类 简单Demo

    比如`Collections.max(list)`获取列表中的最大值,`Collections.swap(list, i, j)`交换列表中两个位置的元素,以及`Collections.disjoint(set1, set2)`检查两个集合是否没有交集。 最后,对于源码部分,可能讲解了...

    C#List字典Dictionary泛型集合实例,源码

    例如,你可以创建一个`Dictionary&lt;string, int&gt;`来存储字符串对应的整数值,通过键(key)来快速获取或更新对应的值(value)。使用`TryGetValue`方法可以尝试获取键对应的值,而不会因为键不存在引发异常。 再来看...

Global site tag (gtag.js) - Google Analytics