`

删除复杂List中的重复数据

J# 
阅读更多

package utils;

import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

public class ListUtil {
 
 public static void main(String[] args) {
  List list = new ArrayList();
  Map map1 = new HashMap<String,String>();
  map1.put("id", "001");
  map1.put("name", "张三");
  Map map2 = new HashMap<String,String>();
  map2.put("id", "001");
  map2.put("name", "李四");
  Map map3 = new HashMap<String,String>();
  map3.put("id", "002");
  map3.put("name", "王二");
  Map map4 = new HashMap<String,String>();
  map4.put("id", "003");
  map4.put("name", "赵五");
  Map map5 = new HashMap<String,String>();
  map5.put("id", "004");
  map5.put("name", "陈六");
  list.add(map1);
  list.add(map2);
  list.add(map3);
  list.add(map4);
  list.add(map5);
  
  for (int i = 0; i < list.size(); i++) {
   Map map = (Map) list.get(i);
   System.out.println(map.get("name"));
  }
  
  System.out.println("----------------------------");
  
  int count = getList(list);
  
  for (int i = 0; i < list.size(); i++) {
   Map map = (Map) list.get(i);
   System.out.println(map.get("name"));
  }
 }
 
 public static int getList(List src){
  
  List list1 = new ArrayList();
  List list2 = new ArrayList();
  int oldSize = src.size();
  for (int i = 0; i < src.size(); i++) {
   Map map = (Map) src.get(i);
   String id = (String) map.get("id");
   if(!list1.contains(id)){
    list1.add(id);
   }else{
    src.remove(i);
    list2.add(map);
   }
  }
  
  for (int i = 0; i < src.size(); i++) {
   Map map = (Map) src.get(i);
   String id = (String) map.get("id");
   String name = (String) map.get("name");
   for (int j = 0; j < list2.size(); j++) {
    String id1 = (String) ((Map)list2.get(j)).get("id");
    String name1 = (String) ((Map)list2.get(j)).get("name");
    if(id.equals(id1)){
     map.put("name", name+","+name1);
    }
   }
  }
  
  return oldSize - src.size();
  
 }
}

分享到:
评论

相关推荐

    去掉list中的重复对象

    在编程领域,尤其是在Java开发中,我们经常遇到需要处理数据集合,例如列表(List),去除其中的重复元素。"去掉list中的重复对象"这个话题是一个常见的需求,特别是在处理业务数据时,确保数据的唯一性至关重要。这...

    List列表拒绝添加重复信息VB6.0源代码.rar

    这个"List列表拒绝添加重复信息VB6.0源代码.rar"文件包含了一个示例程序,展示了如何在List控件中确保添加的信息不重复,避免冗余数据。下面将详细解释相关知识点。 1. **List控件**: - List控件是VB6.0中的一个...

    两个list比较 取不同的对象

    - `List`是一种常用的数据结构,在Java中,`List`接口是`Collection`框架的一部分,它允许存储元素的有序集合。 - 常见的`List`实现包括`ArrayList`和`LinkedList`等。 - 基本操作包括:添加(`add`)、删除(`...

    Repeater 绑定 List 数据源

    3. 绑定数据源:在代码-behind文件中,将`List`对象绑定到`Repeater`控件。 ```csharp protected void Page_Load(object sender, EventArgs e) { if (!IsPostBack) { rptStudents.DataSource = students; ...

    C++中list用法

    - `unique()`:移除list中连续的重复元素。 - `reverse()`:反转list中的元素。 - `sort()`:对list中的元素进行排序。 5. **容量** - `size()`:返回list中元素的数量。 - `max_size()`:返回list可以存储的...

    集合的概念及应用和HashSet保证数据不重复的原理

    在Java中,集合框架是由`java.util`包中的类和接口组成的,提供了多种类型的集合,包括列表(List)、队列(Queue)、集(Set)等。今天我们将深入探讨“集合”的概念及其应用,以及HashSet如何保证数据不重复的原理...

    Python实现嵌套列表及字典并按某一元素去重复功能示例

    在Python编程中,处理数据结构如列表和字典是非常常见的任务。嵌套列表和字典在表示复杂数据时尤其有用,比如存储具有多个属性的对象。本示例将讲解如何处理嵌套列表和字典,并根据特定元素去重复,这对于数据处理和...

    java的list取之方法

    根据提供的文件信息,标题与描述均指向了Java中List的操作方法。然而,给出的部分内容却是一段关于导入Excel文件到Web应用中的代码片段,并没有直接涉及List的具体操作方法。因此,我们将结合标题与描述,围绕Java中...

    list实现的购物车

    7. **编码与解码**:因为cookie值不能直接存储复杂的数据结构如list,所以通常需要将list序列化(如JSON格式)后再编码为字符串,存储在cookie中。在服务器端,我们需要反向操作,即解码字符串再反序列化成list。 8...

    数据结构之有序列表 - SequenceList

    在这个名为“SequenceList”的源代码实现中,我们可以深入探讨有序列表的各种操作和算法。 首先,有序列表的初始化是一个重要的步骤,它通常涉及分配内存来存储列表的初始容量。在源代码中,可能会有一个构造函数...

    python画图-21-列表删除数据.ev4.rar

    在可视化之前,我们可能需要清理或过滤数据,比如删除无效值、重复值或超出特定范围的值。Python的matplotlib库通常用于数据可视化,它允许我们将处理后的列表数据转化为各种图表,如折线图、柱状图、散点图等。 ...

    VB ListView去除相同信息.zip

    在VB6(Visual Basic 6)编程环境中,ListView控件是一种常见的用户界面元素,用于显示列表数据,通常包括图标、文字...这种方法适用于任何需要避免重复显示数据的场景,无论是简单的文本信息还是更复杂的结构化数据。

    《数据结构(C++版)(第2版)》例题

    在C++这个强大的面向对象语言中学习数据结构,可以让学生更好地理解和利用语言特性来实现复杂的数据组织。 数据结构是计算机科学中的基石,它涉及如何在内存中存储和检索信息。主要的数据结构类型包括数组、链表、...

    [详细完整版]数据结构05.doc

    线性表是数据结构中的一种基础结构,通常包括顺序表和链表两种主要形式。本章节主要探讨了在顺序表上进行操作的问题,涉及到大整数处理、...在实际应用中,理解这些基础概念和算法对于解决更复杂的数据问题至关重要。

    使用List和Stream完成统计计算.zip

    首先,`List`是Java集合框架中的一个重要成员,它代表一个有序的元素序列,可以进行添加、删除、查找和遍历等操作。在统计计算中,我们经常使用`List`来存储数据,然后通过迭代或方法调用来执行各种计算,如求和、...

    javaList的定义和方法

    在Java编程语言中,`List`是集合框架的一部分,它是一个有序...在实际编程中,`List`接口及其实现类是构建数据结构、处理有序集合和执行复杂数据操作的核心工具。熟练掌握`List`的使用可以显著提高代码的效率和可读性。

    数据结构的python语言描述

    Python还允许数据结构的嵌套,如列表中包含列表、字典中包含字典等,这在处理复杂数据时非常有用。 在"ExamplePrograms"这个文件夹中,可能包含了上述数据结构的实际示例程序,你可以通过运行这些程序更深入地理解...

    数据结构笔记.pdf

    更确切地说,数据结构是计算机中存储、组织数据的方式,它不仅要满足数据存储的需求,还要考虑到数据的检索、更新、插入和删除操作。 数据结构通常根据逻辑关系进行分类,主要分为两大类:线性结构和非线性结构。 ...

    PowerBuilder9.0数据窗口技术

    在PowerBuilder 9.0版本中,数据窗口技术是核心特性之一,它允许开发者创建复杂的数据库应用界面,提供灵活的数据展示、查询、更新和事务处理能力。 数据窗口是PowerBuilder中的一个独特对象,它能够直接与数据库...

    python中list的操作方法.doc

    ### Python中List的操作方法 #### 一、创建列表 列表是Python中最常用的数据类型之一,它允许存储不同类型的元素,并且这些元素可以通过索引轻松访问。创建列表非常简单,只需要用方括号`[]`包围一系列用逗号分隔...

Global site tag (gtag.js) - Google Analytics