/**
* 根据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;
}
分享到:
相关推荐
描述中提到的“**再做List数据集合打印或数据绑定时,需要把List集合分组筛选**”意味着在处理List数据并准备显示或输出时,可能需要根据某些条件对数据进行分类,然后可能进一步筛选出特定的子集。这可以通过Linq的...
Java中List对象的分页思想-按10个或者n个数对list进行分组 Java中List对象的分页思想是一种常用的数据处理技术,通过将一个大的List对象分割成多个小的List对象,每个小的List对象包含一定数量的元素,例如10个或n...
在C#编程中,List<T> 是一个常用的集合类,用于存储同类型的对象数组。当我们需要遍历List并根据条件删除特定元素时,需要注意正确的方法,以避免在遍历过程中出现错误。以下将详细介绍如何在C#中遍历List并删除元素...
这个接口是Java 8中Stream API的`groupingBy`函数的一种扩展,允许我们对集合对象进行更复杂的分组操作。`GroupingBy`可以接受一个函数作为参数,这个函数定义了如何从每个元素中提取分组键,然后根据这些键将元素分...
`Collectors.groupingBy`方法允许我们将集合中的元素按照指定的键进行分组,创建一个Map,其中键是分组的标准,值是一个包含该组所有元素的列表。例如,如果我们有一个`Person`对象的列表,可以按年龄分组: ```...
然后,我们使用foreach循环遍历每个分组,输出当前的城市名称,并按照年龄对每个分组中的学生进行排序,然后输出学生的名字。 需要注意的是,IGrouping接口存在两个参数,第一个参数对应于分组字段的类型,也就是说...
在这个例子中,我们使用了Collectors.collectingAndThen方法来对组内的元素进行处理,该方法将Collectors.toList()方法的结果作为输入,然后将其转换为一个 Coupon 对象。Collectors.toList()方法将List对象转换为一...
在示例代码中,创建了一个新的List `list2`,遍历`map`,将每个分组转换成一个List,其中第一个元素是分组的属性值,第二个元素是该属性值对应的所有对象集合。 ```java List<List<Object>> list2 = new ArrayList...
JAVA JDK8 List分组的实现和用法是指在JAVA中,使用JDK 8的Stream API对List进行分组的操作。分组是指根据某个属性将List中的元素分配到不同的组中,以便于后续处理。 在JDK 8中,对List按照某个属性分组的代码非常...
在日常开发过程中,我们经常需要对List集合进行取值筛选。下面是一些常用的知识点: * 遍历-foreach循环 * 筛选-filter方法 * 排序-sort方法 * 分组-groupBy方法 例如,我们可以使用流式编程从List集合中取出所有...
在上面的代码中,我们使用@Validated注解来验证ValidList中的每个元素,以确保List集合中的每个元素都是合法的。 我们可以通过自定义ValidList类来实现@Validated验证List集合的方法,解决了@Validated注解只能验证...
在上述代码中,`collectionName`应替换为Action中集合变量的实际名称,`property1`和`property2`则分别替换为集合元素的属性名。`<s:iterator>`标签会遍历集合中的每个元素,并为每个元素创建一个新的上下文,使得...
在Java编程中,有时我们需要统计一个List集合中相同值出现的次数。这在处理数据集、分析重复项或进行数据清洗时非常常见。本篇文章将详细介绍如何通过Java实现这一功能,特别是利用Map数据结构来高效地计算List中...
在Java编程中,分组聚合是一项重要的数据处理技术,它允许我们按照特定的规则将数据组织成多个逻辑组,然后对这些组进行聚合操作,如计算每个组的总和、平均值等。这个主题通常与Java集合框架和流API紧密相关,特别...
有序集合类似于集合,但它在每个元素上都附加了一个分数(score),用于对元素进行排序。排序依据是分数,分数可以重复,但元素是唯一的。 1.3.1 命令 - 添加元素并设置分数:`zadd key score member [score ...
在Java编程中,对List进行多个排序和查询条件的处理是一项常见的任务,特别是在处理数据集合时。本篇文章将深入探讨如何使用Java实现这些操作,并基于给出的`GroupFilterSortUtils.java`文件,我们可以推断这是一个...
在LINQ查询中,可以轻松地对集合进行排序,如`collection.OrderBy(x => x.Property)`。 3. **分组(Grouping)**:`GroupBy`方法是C#处理数据的一个关键特性,它可以按照一个或多个属性将数据分组。例如,`...
在这段代码中,`Collectors.groupingBy`方法被两次调用,第一次是对用户按`userName`进行分组,第二次是对每个`userName`组内按`age`再次分组。最后,`Collectors.counting()`用于计算每个子分组的元素数量,即每个...
C#中使用Join与GroupJoin将两个集合进行关联与分组 在C#中,Join和GroupJoin是两个常用的集合关联操作方法,用于将两个集合中的元素按照某个键相互关联,生成一个新的集合。下面将详细介绍Join和GroupJoin的用法。 ...