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

在list集合中对元素进行分组

 
阅读更多
/**
     * 根据synsetId在集合中进行分组
     * @return
     */
    public List<Synsetcn> groupBySynsetId()
    {
     // 从数据库中获取要导入的结果数据
  List<Synsetcn> list = getAllSynsetcn();
 
  //定义一个map集合用于分组
  Map<String, List<Synsetcn>> mapList = new HashMap<String, List<Synsetcn>>();
 
  //返回的处理好的集合对象
  List<Synsetcn> newSynList = new ArrayList<Synsetcn>();
 
  //遍历集合以Synset_id为键,以chinese为值保存到mapList中
  for (Iterator it = list.iterator(); it.hasNext();)
  {
   //将循环读取的结果放入对象中
   Synsetcn synsetcn = (Synsetcn) it.next();
  
   //如果在这个map中包含有相同的键,这创建一个集合将其存起来
   if (mapList.containsKey(synsetcn.getSysset_id()))
   {
    List<Synsetcn> syn = mapList.get(synsetcn.getSysset_id());
    syn.add(synsetcn);
    //如果没有包含相同的键,在创建一个集合保存数据
   } else {
    List<Synsetcn> syns = new ArrayList<Synsetcn>();
    syns.add(synsetcn);
    mapList.put(synsetcn.getSysset_id(), syns);
   }
  }
 
  //遍历map集合
  for (Map.Entry<String, List<Synsetcn>> m : mapList.entrySet())
  {
   //获取所有的值
   List<Synsetcn> synList = m.getValue();
   String chinese = "";
   String sysset_id = "";
   for (Synsetcn synsetcn : synList) {
    sysset_id = synsetcn.getSysset_id();
    if ("".equals(chinese)) {
     chinese = chinese + synsetcn.getChinese();
    } else {
     chinese = chinese + "||" + synsetcn.getChinese();
    }
   }
   Synsetcn syn = new Synsetcn();
   syn.setChinese(chinese);
   syn.setSysset_id(sysset_id);
   newSynList.add(syn);
  
  }
  return newSynList;
    }
分享到:
评论

相关推荐

    C#List集合分组winform把List分组

    描述中提到的“**再做List数据集合打印或数据绑定时,需要把List集合分组筛选**”意味着在处理List数据并准备显示或输出时,可能需要根据某些条件对数据进行分类,然后可能进一步筛选出特定的子集。这可以通过Linq的...

    关于Java中List对象的分页思想-按10个或者n个数对list进行分组

    Java中List对象的分页思想-按10个或者n个数对list进行分组 Java中List对象的分页思想是一种常用的数据处理技术,通过将一个大的List对象分割成多个小的List对象,每个小的List对象包含一定数量的元素,例如10个或n...

    C#遍历List并删除某个元素的方法

    在C#编程中,List&lt;T&gt; 是一个常用的集合类,用于存储同类型的对象数组。当我们需要遍历List并根据条件删除特定元素时,需要注意正确的方法,以避免在遍历过程中出现错误。以下将详细介绍如何在C#中遍历List并删除元素...

    java集合分组(Guava)

    这个接口是Java 8中Stream API的`groupingBy`函数的一种扩展,允许我们对集合对象进行更复杂的分组操作。`GroupingBy`可以接受一个函数作为参数,这个函数定义了如何从每个元素中提取分组键,然后根据这些键将元素分...

    java 集合分组与排序

    `Collectors.groupingBy`方法允许我们将集合中的元素按照指定的键进行分组,创建一个Map,其中键是分组的标准,值是一个包含该组所有元素的列表。例如,如果我们有一个`Person`对象的列表,可以按年龄分组: ```...

    C#实现泛型List分组输出元素的方法

    然后,我们使用foreach循环遍历每个分组,输出当前的城市名称,并按照年龄对每个分组中的学生进行排序,然后输出学生的名字。 需要注意的是,IGrouping接口存在两个参数,第一个参数对应于分组字段的类型,也就是说...

    JAVA JDK8 List分组获取第一个元素的方法

    在这个例子中,我们使用了Collectors.collectingAndThen方法来对组内的元素进行处理,该方法将Collectors.toList()方法的结果作为输入,然后将其转换为一个 Coupon 对象。Collectors.toList()方法将List对象转换为一...

    根据某个属性对List中的所有对象分组,该属性值相同的对象分到一个组

    在示例代码中,创建了一个新的List `list2`,遍历`map`,将每个分组转换成一个List,其中第一个元素是分组的属性值,第二个元素是该属性值对应的所有对象集合。 ```java List&lt;List&lt;Object&gt;&gt; list2 = new ArrayList...

    JAVA JDK8 List分组的实现和用法

    JAVA JDK8 List分组的实现和用法是指在JAVA中,使用JDK 8的Stream API对List进行分组的操作。分组是指根据某个属性将List中的元素分配到不同的组中,以便于后续处理。 在JDK 8中,对List按照某个属性分组的代码非常...

    java8从list集合中取出某一属性的值的集合案例

    在日常开发过程中,我们经常需要对List集合进行取值筛选。下面是一些常用的知识点: * 遍历-foreach循环 * 筛选-filter方法 * 排序-sort方法 * 分组-groupBy方法 例如,我们可以使用流式编程从List集合中取出所有...

    @Validated验证List集合的方法示例

    在上面的代码中,我们使用@Validated注解来验证ValidList中的每个元素,以确保List集合中的每个元素都是合法的。 我们可以通过自定义ValidList类来实现@Validated验证List集合的方法,解决了@Validated注解只能验证...

    使用struts2的标签,在页面上用列表的方式列出action里集合中所有元素的所有属性值

    在上述代码中,`collectionName`应替换为Action中集合变量的实际名称,`property1`和`property2`则分别替换为集合元素的属性名。`&lt;s:iterator&gt;`标签会遍历集合中的每个元素,并为每个元素创建一个新的上下文,使得...

    Java判断List中相同值元素的个数实例

    在Java编程中,有时我们需要统计一个List集合中相同值出现的次数。这在处理数据集、分析重复项或进行数据清洗时非常常见。本篇文章将详细介绍如何通过Java实现这一功能,特别是利用Map数据结构来高效地计算List中...

    java实现分组聚合

    在Java编程中,分组聚合是一项重要的数据处理技术,它允许我们按照特定的规则将数据组织成多个逻辑组,然后对这些组进行聚合操作,如计算每个组的总和、平均值等。这个主题通常与Java集合框架和流API紧密相关,特别...

    redis有序集合性能 列表、集合、有序集合1

    有序集合类似于集合,但它在每个元素上都附加了一个分数(score),用于对元素进行排序。排序依据是分数,分数可以重复,但元素是唯一的。 1.3.1 命令 - 添加元素并设置分数:`zadd key score member [score ...

    Java对List多个排序、查询条件的处理

    在Java编程中,对List进行多个排序和查询条件的处理是一项常见的任务,特别是在处理数据集合时。本篇文章将深入探讨如何使用Java实现这些操作,并基于给出的`GroupFilterSortUtils.java`文件,我们可以推断这是一个...

    过滤、排序、分组、去重、改名、计算列、关联、子查询、集合计算

    在LINQ查询中,可以轻松地对集合进行排序,如`collection.OrderBy(x =&gt; x.Property)`。 3. **分组(Grouping)**:`GroupBy`方法是C#处理数据的一个关键特性,它可以按照一个或多个属性将数据分组。例如,`...

    java8 集合 多字段 分组 统计个数代码

    在这段代码中,`Collectors.groupingBy`方法被两次调用,第一次是对用户按`userName`进行分组,第二次是对每个`userName`组内按`age`再次分组。最后,`Collectors.counting()`用于计算每个子分组的元素数量,即每个...

    C#中使用Join与GroupJoin将两个集合进行关联与分组

    C#中使用Join与GroupJoin将两个集合进行关联与分组 在C#中,Join和GroupJoin是两个常用的集合关联操作方法,用于将两个集合中的元素按照某个键相互关联,生成一个新的集合。下面将详细介绍Join和GroupJoin的用法。 ...

Global site tag (gtag.js) - Google Analytics