Set<String> exclusionSet = new HashSet<>();
exclusionSet.add(Constants.CLASS);
exclusionSet.add("taskJson");
List<TaskInstance> taskInstanceList = taskInstanceIPage.getRecords();
// 排除集合中的某些属性
CollectionUtils.getListByExclusion(taskInstanceList,exclusionSet);
/**
* Removes certain attributes of each object in the list
* @param originList origin list
* @param exclusionSet exclusion set
* @param <T> T
* @return removes certain attributes of each object in the list
*/
public static <T extends Object> List<Map<String, Object>> getListByExclusion(List<T> originList, Set<String> exclusionSet) {
List<Map<String, Object>> instanceList = new ArrayList<>();
if (exclusionSet == null) {
exclusionSet = new HashSet<>();
}
if (originList == null) {
return instanceList;
}
Map<String, Object> instanceMap;
for (T instance : originList) {
Map<String, Object> dataMap = new BeanMap(instance);
instanceMap = new LinkedHashMap<>(16,0.75f,true);
for (Map.Entry<String, Object> entry: dataMap.entrySet()) {
if (exclusionSet.contains(entry.getKey())) {
continue;
}
instanceMap.put(entry.getKey(), entry.getValue());
}
instanceList.add(instanceMap);
}
return instanceList;
}
代码来自dolphinscheduler的CollectionUtils
相关推荐
本篇文章将介绍如何使用ArrayList删除集合中具有相同特定属性(例如:destip)的元素。 首先,当我们的目标是确保集合中没有重复的元素时,HashSet是一个更好的选择,因为它在内部使用哈希表来存储元素,不允许有...
如果希望在查询时排除某些属性不参与比较,可以使用`excludeProperty(String propertyName)`方法: ```java Example example = Example.create(student) .excludeProperty("studentNumber"); ``` 上述代码中,`...
4. **定制JSON输出**:有时,你可能并不希望返回所有的Action属性,而是需要根据需求选择性的返回某些属性。这可以通过`includeProperties`和`excludeProperties`参数来实现: - `includeProperties`:指定需要包含...
- **应用场景**:当需要排除某些特定值的记录时,例如查询除了用户名为"admin"之外的所有用户。 #### 3. `gt()` 方法 `Restrictions.gt()` 方法用于表示“大于”的条件。 - **语法**:`Restrictions.gt(String ...
7. **条件编译**:使用`#If...Then...#End If`来根据不同的编译条件包含或排除代码,这样可以在不需要某些功能时减小代码体积。 8. **避免冗余代码**:检查代码中是否有重复的功能或逻辑,如果发现,应考虑抽象成...
3. 对象的Clear方法:在VB等编程环境中,`Clear`方法用于清除对象的某些属性或内容。列表框(List Box)对象具有`Clear`方法,可以清除其中的所有项目。 4. 字符串内存占用:字符串 "a" 在内存中占据2个字节,包括...
19. **集合框架**:在Java中,List集合(有序、可重复)和Set集合(无序、不可重复)是Collection接口的子接口。 20. **Word2000高亮显示**:在选定区域内,Word2000可以将文本及对象反显(黑底白字)以区分(正确...
Gson同样支持Java集合框架中的List、Set等类型的序列化和反序列化。不过,Gson在处理集合时有一些限制,这些限制包括对于某些特定类型的集合处理上可能需要额外的配置。 9. 泛型类型序列化和反序列化 Gson能够...
3. **类成员属性别名**:结合`aliasAttribute(Class definedIn, String attributeName, String alias)`和`useAttributeFor(Class definedIn, String fieldName)`方法,可以将某些类成员作为XML属性进行映射。...
- **List属性**:包含了列表框中所有项的数据集合。 ### 2. 数据库的基础概念 - **知识点**:数据库是按照数据结构来组织、存储和管理数据的仓库。 - **表**:数据库中最基本的数据存储单元,其中包含了一组相关...
2. **对象操作**:包括`_.keys`获取对象的所有键,`_.values`获取对象的所有值,`_.extend`用于合并对象,以及`_.pick`和`_.omit`用于根据指定键选取或排除对象的部分属性。 3. **函数编程**:`_.bind`用于绑定函数...
例如,`@JsonProperty`用于标记一个属性与JSON字段的映射,`@JsonIgnore`用于忽略某个属性,`@JsonInclude`和`@JsonExclude`可以控制哪些属性应该被包含或排除在序列化过程中。 在实际开发中,这三个模块通常一起...
在某些情况下,还需要考虑国家或地区的法定节假日。为了精确计算,我们需要一个包含所有节假日的数据库或日历。 在C#中,我们可以使用`DateTime`类来表示日期和时间,并使用`TimeSpan`类来表示两个日期之间的差值。...
7. `@Singular`: 与`@Builder`配合使用,处理集合类型的属性,例如`List`或`Set`,使得每次添加元素时,内部不会创建新的集合。 8. `@ToString`和`@EqualsAndHashCode`: 分别生成`toString()`和`equals()`及`...
3. 使用`GsonBuilder排除字段`,如不需要序列化某些字段,可以使用`excludeFieldsWithoutExposeAnnotation()`。 总之,Gson作为一款强大的JSON处理库,提供了丰富的功能来满足Java与JSON之间的数据转换需求。通过...
在本例中,我们有两个ListBox,分别代表“包含”和“排除”的集合。 1. **互换Item**:这是对话框的主要特性,允许用户将一个ListBox中的Item移动到另一个ListBox。这通常通过事件处理(如Click或DoubleClick)触发...
在数据库设计中,某些数据类型的字段长度是固定的,例如: - **日期型**:总是占用相同的字节数。 - **备注型**:通常用于存储较大的文本块,但在 Access 中并非固定长度。 - **逻辑型**:布尔值,通常是固定长度。...
例如,你可以使用`@JsonProperty`来指定哪些字段应该被序列化或反序列化,使用`@JsonIgnore`来排除某些字段,或者使用`@JsonFormat`来定义日期格式等。 ```java import ...
7. **Set**:设置可以指配置或调整计算机系统的某些属性,也可以指一组相关的数据或对象。 8. **Key**:在键盘上,键用于输入字符或执行特定操作;在数据库中,关键字是用于标识记录的特殊字段。 9. **List**:...
例如,使用`@JsonProperty`指定字段映射,`@JsonIgnore`排除某些字段,或者`@JsonFormat`控制日期格式。 5. 数据绑定优化 可以通过配置`ObjectMapper`来提高性能,例如关闭默认的反序列化特性,开启二进制安全模式...