`
gaojingsong
  • 浏览: 1200916 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
文章分类
社区版块
存档分类
最新评论

【List排除集合中的某些属性】

 
阅读更多

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删除集合中某一属性相同的元素方法(推荐)

    本篇文章将介绍如何使用ArrayList删除集合中具有相同特定属性(例如:destip)的元素。 首先,当我们的目标是确保集合中没有重复的元素时,HashSet是一个更好的选择,因为它在内部使用哈希表来存储元素,不允许有...

    Hibernate中Example的用法

    如果希望在查询时排除某些属性不参与比较,可以使用`excludeProperty(String propertyName)`方法: ```java Example example = Example.create(student) .excludeProperty("studentNumber"); ``` 上述代码中,`...

    struts2使用json

    4. **定制JSON输出**:有时,你可能并不希望返回所有的Action属性,而是需要根据需求选择性的返回某些属性。这可以通过`includeProperties`和`excludeProperties`参数来实现: - `includeProperties`:指定需要包含...

    java QBC常用方法

    - **应用场景**:当需要排除某些特定值的记录时,例如查询除了用户名为"admin"之外的所有用户。 #### 3. `gt()` 方法 `Restrictions.gt()` 方法用于表示“大于”的条件。 - **语法**:`Restrictions.gt(String ...

    最小化代码(VB.NET)

    7. **条件编译**:使用`#If...Then...#End If`来根据不同的编译条件包含或排除代码,这样可以在不需要某些功能时减小代码体积。 8. **避免冗余代码**:检查代码中是否有重复的功能或逻辑,如果发现,应考虑抽象成...

    2021-2022计算机二级等级考试试题及答案No.10029.docx

    3. 对象的Clear方法:在VB等编程环境中,`Clear`方法用于清除对象的某些属性或内容。列表框(List Box)对象具有`Clear`方法,可以清除其中的所有项目。 4. 字符串内存占用:字符串 "a" 在内存中占据2个字节,包括...

    2021-2022计算机二级等级考试试题及答案No.16907.docx

    19. **集合框架**:在Java中,List集合(有序、可重复)和Set集合(无序、不可重复)是Collection接口的子接口。 20. **Word2000高亮显示**:在选定区域内,Word2000可以将文本及对象反显(黑底白字)以区分(正确...

    Gson_User_Guide.pdf

    Gson同样支持Java集合框架中的List、Set等类型的序列化和反序列化。不过,Gson在处理集合时有一些限制,这些限制包括对于某些特定类型的集合处理上可能需要额外的配置。 9. 泛型类型序列化和反序列化 Gson能够...

    Xstream生产xml和解析xml

    3. **类成员属性别名**:结合`aliasAttribute(Class definedIn, String attributeName, String alias)`和`useAttributeFor(Class definedIn, String fieldName)`方法,可以将某些类成员作为XML属性进行映射。...

    2021-2022计算机二级等级考试试题及答案No.10292.docx

    - **List属性**:包含了列表框中所有项的数据集合。 ### 2. 数据库的基础概念 - **知识点**:数据库是按照数据结构来组织、存储和管理数据的仓库。 - **表**:数据库中最基本的数据存储单元,其中包含了一组相关...

    微信小程序demo:使用第三方模块Underscore.js,Immutable.js,UUID.zip

    2. **对象操作**:包括`_.keys`获取对象的所有键,`_.values`获取对象的所有值,`_.extend`用于合并对象,以及`_.pick`和`_.omit`用于根据指定键选取或排除对象的部分属性。 3. **函数编程**:`_.bind`用于绑定函数...

    最新的高性能 JSON 处理jackson-2.9.2.jar下载

    例如,`@JsonProperty`用于标记一个属性与JSON字段的映射,`@JsonIgnore`用于忽略某个属性,`@JsonInclude`和`@JsonExclude`可以控制哪些属性应该被包含或排除在序列化过程中。 在实际开发中,这三个模块通常一起...

    计算日期,除去工作时间

    在某些情况下,还需要考虑国家或地区的法定节假日。为了精确计算,我们需要一个包含所有节假日的数据库或日历。 在C#中,我们可以使用`DateTime`类来表示日期和时间,并使用`TimeSpan`类来表示两个日期之间的差值。...

    lombok插件以及使用文档

    7. `@Singular`: 与`@Builder`配合使用,处理集合类型的属性,例如`List`或`Set`,使得每次添加元素时,内部不会创建新的集合。 8. `@ToString`和`@EqualsAndHashCode`: 分别生成`toString()`和`equals()`及`...

    Gson基本用法

    3. 使用`GsonBuilder排除字段`,如不需要序列化某些字段,可以使用`excludeFieldsWithoutExposeAnnotation()`。 总之,Gson作为一款强大的JSON处理库,提供了丰富的功能来满足Java与JSON之间的数据转换需求。通过...

    可重用的Include/Exclude 对话框

    在本例中,我们有两个ListBox,分别代表“包含”和“排除”的集合。 1. **互换Item**:这是对话框的主要特性,允许用户将一个ListBox中的Item移动到另一个ListBox。这通常通过事件处理(如Click或DoubleClick)触发...

    2021-2022计算机二级等级考试试题及答案No.10430.docx

    在数据库设计中,某些数据类型的字段长度是固定的,例如: - **日期型**:总是占用相同的字节数。 - **备注型**:通常用于存储较大的文本块,但在 Access 中并非固定长度。 - **逻辑型**:布尔值,通常是固定长度。...

    Jackson的简单用法

    例如,你可以使用`@JsonProperty`来指定哪些字段应该被序列化或反序列化,使用`@JsonIgnore`来排除某些字段,或者使用`@JsonFormat`来定义日期格式等。 ```java import ...

    计算机专业英语词汇.pdf

    7. **Set**:设置可以指配置或调整计算机系统的某些属性,也可以指一组相关的数据或对象。 8. **Key**:在键盘上,键用于输入字符或执行特定操作;在数据库中,关键字是用于标识记录的特殊字段。 9. **List**:...

    jackjson类型转换各种方法

    例如,使用`@JsonProperty`指定字段映射,`@JsonIgnore`排除某些字段,或者`@JsonFormat`控制日期格式。 5. 数据绑定优化 可以通过配置`ObjectMapper`来提高性能,例如关闭默认的反序列化特性,开启二进制安全模式...

Global site tag (gtag.js) - Google Analytics