`
NiceKevin
  • 浏览: 11024 次
  • 性别: Icon_minigender_1
  • 来自: 厦门
社区版块
存档分类
最新评论

比较两集合(list/set..)元素是否相等(只要 List 含有相同元素(String Type)就可以,允许重复)

    博客分类:
  • JAVA
阅读更多
如果是list则 转 list --> set

HashSet, TreeSet 均可以实现元素唯一,以便比较。但前者元素无序,故速度快。 后者元素有序,如需二分查找之类算法有优势。

具体代码:

package com.nicekevin.test;

import java.util.HashSet;
import java.util.Iterator;
import java.util.Set;

public class CompareList {

  public static void main(String[] args) throws Exception {
//    Set<String> set1 = new TreeSet<String>();
//    Set<String> set2 = new TreeSet<String>();
    Set<String> set1 = new HashSet<String>();
    Set<String> set2 = new HashSet<String>();
    set1.add("aa");
    set1.add("aa");
    set1.add("bb");
    set1.add("cc");
    set1.add("ca");
  
    set2.add("bb");
    set2.add("aa");
    set2.add("cc");
    set2.add("ca");
  
    Iterator it1 = set1.iterator();
    while (it1.hasNext()) {
      System.out.print(it1.next().toString() + "\t");
    }
    System.out.println();
  
    Iterator it2 = set2.iterator();
    while (it2.hasNext()) {
      System.out.print(it2.next().toString() + "\t");
    }
    System.out.println();
  
    System.out.println("kaka = " + compareSet(set1, set2));
  }

  public static boolean compareSet(Set set1, Set set2) throws Exception {
    if(set1.size() != set2.size()) {
      return false;
    }  
    Iterator it1 = set1.iterator();
    while(it1.hasNext()) {
      if (!set2.contains(it1.next().toString())) {
        return false;
      }
    }  
    return true;
  }
}
分享到:
评论

相关推荐

    java计算同一个list中是否有相同的值

    ### Java 计算同一 List 中是否有相同值 在 Java 编程中,判断一个 `List` 中是否存在重复元素是一项常见的需求。特别是在数据处理、验证或分析等场景中,确保数据的唯一性对于维持数据完整性至关重要。 #### 核心...

    实验05 Java集合.doc

    1. **Set接口**:Set接口代表了一个不允许有重复元素的集合。实验中提到了两个主要的实现类:HashSet和TreeSet。HashSet基于哈希表实现,插入和查询元素的速度通常较快,但元素无特定顺序。而TreeSet基于红黑树数据...

    Java集合类原理详解.pdf

    - **集合**:包括List、Set等,其中List保持插入顺序,而Set不允许重复元素。 - **映射**:如HashMap、TreeMap等,通过键值对进行存储和检索。 #### 1.2 Collection `Collection`是Java集合框架的根接口,所有具体...

    set集合的基本特点,set集合底层去重原理,集合怎么进行排序

    Set集合在Java编程语言中是一种基础且重要的数据结构,它主要特点是存储不重复的元素,且没有特定的插入顺序。接下来我们将深入探讨Set集合的基本特点、底层去重原理以及如何进行排序。 首先,让我们理解Set集合的...

    2020-java常见面试题

    1. Java容器主要包括Collection(单列集合)、List(有序可重复集合)、Set(无序不重复集合)和Map(键值对集合)。 2. Collection和Collections的区别:Collection是所有单列集合接口的父接口;Collections是针对...

    Scala的List类方法整合

    此方法用于比较两个对象是否相等。 **示例代码:** ```scala val list1 = List(1, 2, 3) val list2 = List(1, 2, 3) val equalLists = list1.equals(list2) // 结果为 true ``` #### 16. `def exists(p: (A) =&gt; ...

    day03_List、Set 每日作业卷1

    2. **可重复性**:List接口允许元素重复,可以有多个相同的元素存在于列表中。 3. **线程安全性**:ArrayList是非线程安全的,而Vector是线程安全的,但效率较低。在多线程环境下,需要通过同步机制来保证线程安全...

    list集合去除重复对象的实现

    在Java编程中,集合是用来存储一组对象的数据结构。...这种方法不仅适用于`List`,也适用于其他不允许重复元素的集合,如`Set`和`HashSet`。在实际开发中,合理地实现这些方法是确保集合正确处理对象的关键步骤。

    Android List删除重复数据

    HashSet 是一种不允许重复元素的集合,因此可以用来删除重复数据。首先将列表转换为 HashSet,然后将 HashSet 转换回列表。这种方法的时间复杂度为 O(n),因此适合大型列表。 ```java public static void remove...

    List集合多个复杂字段判断去重的案例

    当我们需要对 List 集合进行去重操作时,通常的做法是将其转换为 Set 集合,因为 Set 集合不允许重复元素。但是,事情并不是那么简单。 如果 List 集合中的元素是简单对象,如 Integer、String 等,那么使用 List ...

    list常用方法

    在Java编程语言中,`List`接口是集合框架的重要组成部分,它提供了有序元素集合的实现,并允许重复元素的存在。本文将详细解释`List`接口中的常用方法,帮助开发者更好地理解和运用这些功能强大的工具。 #### 1. ...

    利用Java Set 去除重复object的方法

    这样,Set在比较元素时,可以通过比较哈希码快速确定是否有可能相等,然后再调用`equals()`进行精确判断。在`User`类中,`hashCode()`应根据`id`和`username`计算: ```java @Override public int hashCode() { //...

    java集合课程3.docx

    - 泛型允许在集合中指定元素类型,如`List&lt;String&gt;`表示存储字符串的列表。`List&lt;?&gt;`表示未指定类型的列表,一旦赋值后不能随意添加不同类型的元素。 9. **元素比较**: - `Comparable`接口用于元素自身比较,如`...

    C#源码 字符串数组的动态添加,查找,删除

    比较两个列表是否相等,可以使用`List&lt;T&gt;.SequenceEqual()`方法,它会检查两个列表的顺序和元素是否都相同: ```csharp List&lt;string&gt; compareList = new List&lt;string&gt;(stringList); bool areEqual = stringList....

    JAVA_类集操作实例

    7. equals():比较两个集合是否相等。 8. hashCode():返回集合的哈希码。 六、泛型与集合 1. 泛型:Java泛型允许在集合中存储特定类型的数据,提高代码安全性和可读性。 2. 泛型集合示例:`List&lt;String&gt; list = ...

    java集合习题及答案

    ### Java集合基础习题解析及答案 #### 题目一:统计子字符串在字符串中的出现次数 **题目描述:** 编写一个Java程序,定义一个方法`getCount`,该方法接收两个参数:一个字符串`str`和一个子字符串`s`,返回`s`在`...

    Java程序设计 3 数组与集合.pptx

    * equals(),比较两个数组是否相等 * sort(),对不同类型的数组排序 * binarySearch(),在不同类型的数组中用二分查找算法搜索特定值 * fill(int[] a, int fromIndex, int toIndex, int val)用一个指定的值填充...

    认识类集、Collection接口

    - `equals(Object o)`:比较两个集合是否相等,即它们包含相同的元素。 - `hashCode()`:返回集合的哈希码,用于实现哈希表(如HashMap)。 Java集合框架还包含了一些直接或间接实现`Collection`接口的类,例如`...

Global site tag (gtag.js) - Google Analytics