最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

java取出list中某幾個屬性組成一個新集合的幾種方式

 更新時間:2024年03月28日 09:09:32   作者:齊穗穗  
在Java開發(fā)中經(jīng)常需要對List中的對象進行一些操作,例如對某個字段進行過濾、排序等,這篇文章主要給大家介紹了關(guān)于java取出list中某幾個屬性組成一個新集合的幾種方式,需要的朋友可以參考下

我用了三種方式,1:forEach循環(huán);2:for循環(huán);3:stream方法

package org.springblade.test;
 
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
 
public class Test {
 
    @org.junit.jupiter.api.Test
    public void aaa() {
        User user1 = new User("張三", 10, 1);
        User user2 = new User("李四 ", 11, 1);
        User user3 = new User("王五", 12, 0);
        List<User> users = new ArrayList<>();
        users.add(user1);
        users.add(user2);
        users.add(user3);
        //我這里都轉(zhuǎn)為了List<Map<String, Object>>數(shù)組,也可以轉(zhuǎn)換為一個新的實體類(自行創(chuàng)建)
        //使用forEach循環(huán)轉(zhuǎn)化
        List<Map<String, Object>> infosFromForEach = new ArrayList<>();
        users.forEach(user -> {
            Map<String, Object> singleMap = new HashMap<>();
            singleMap.put("age", user.getAge());
            singleMap.put("gender", user.getGender());
            infosFromForEach.add(singleMap);
        });
        //使用for循環(huán)轉(zhuǎn)化
        List<Map<String, Object>> infosFromFor = new ArrayList<>();
        for (User user : users) {
            Map<String, Object> singleMap = new HashMap<>();
            singleMap.put("age", user.getAge());
            singleMap.put("gender", user.getGender());
            infosFromFor.add(singleMap);
        }
        //使用stream流實現(xiàn)轉(zhuǎn)換
        List<Map<String, Object>> collect = users.stream().map(user -> {
            Map<String, Object> singleMap = new HashMap<>();
            singleMap.put("age", user.getAge());
            singleMap.put("gender", user.getGender());
            return singleMap;
        }).collect(Collectors.toList());
    }
 
 
}
 
class User {
    //姓名
    private String name;
    //年齡
    private Integer age;
    //性別:0:女;1:男
    private Integer gender;
 
    public User() {
    }
 
    public User(String name, Integer age, Integer gender) {
        this.name = name;
        this.age = age;
        this.gender = gender;
    }
 
    public String getName() {
        return name;
    }
 
    public User setName(String name) {
        this.name = name;
        return this;
    }
 
    public Integer getAge() {
        return age;
    }
 
    public User setAge(Integer age) {
        this.age = age;
        return this;
    }
 
    public Integer getGender() {
        return gender;
    }
 
    public User setGender(Integer gender) {
        this.gender = gender;
        return this;
    }
}

附:對象集合的一些常用操作-取出某個屬性組成新的集合、集合與逗號拼接的字符串相互轉(zhuǎn)換、對象集合根據(jù)某一屬性分組

1.將對象集合中的某個屬性取出組成一個單獨的新的集合

有很多時候我們會遇到這樣的場景,就是要將一個list中的某一個元素中的某一屬性單獨拿出來放在一個新的list里面,這時候,我們就可以用以下的方法來進行實現(xiàn):

List<User> userList = new ArrayList<>();
List<String> nameList= userList.stream().map(User::getName).collect(Collectors.toList());

2.將對象集合中的某個屬性取出,用逗號拼接成一個字符

2.1 可以foreach循環(huán)直接拼接對象該屬性

//用逗號分割
StringJoiner stringJoiner = new StringJoiner(",");

userList.forEach(user -> {
	//將實體中的某個字段獲取到 添加到stringJoiner
    stringJoiner.add(user.getName());
});

//最終得到的字符串
String toString = stringJoiner.toString();

2.2 進行1操作(將某個屬性取出組成新的集合)后,將新的集合用逗號拼接

//利用Guava的Joiner
String nameListStr = Joiner,on(",").join(nameList);

//利用Apache Commons的StringUtils
String nameListStr = StringUtils.join(nameList.toArray(), ",");

3.將用逗號拼接的字符串轉(zhuǎn)換成String集合

String str = "hudson,zhuang,lisa";
List<String> result = Arrays.asList(str.split(","));

4.將對象集合利用Java8新特性按照某一屬性進行分組

//例如這里將User類的集合userList按照性別進行分組
Map<String, List<User>> groupBySex = new HashMap<>();
groupBySex = userList.stream().collect(Collectors.groupingBy(User::getSex));

//獲得男性集合
List<User> manList = groupBySex.get("男");

//寫循環(huán)
groupBySex.keySet().for

純粹記錄一下

總結(jié)

到此這篇關(guān)于java取出list中某幾個屬性組成一個新集合的幾種方式的文章就介紹到這了,更多相關(guān)java取出list屬性組成新集合內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • java安全編碼指南之:Mutability可變性詳解

    java安全編碼指南之:Mutability可變性詳解

    這篇文章主要介紹了java安全編碼指南之:Mutability可變性詳解,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-09-09
  • Spring中@PathVariable和@RequestParam注解的用法區(qū)別

    Spring中@PathVariable和@RequestParam注解的用法區(qū)別

    這篇文章主要介紹了Spring中@PathVariable和@RequestParam注解的用法區(qū)別,@PathVariable 是 Spring 框架中的一個注解,用于將 URL 中的變量綁定到方法的參數(shù)上,它通常用于處理 RESTful 風格的請求,從 URL 中提取參數(shù)值,并將其傳遞給方法進行處理,需要的朋友可以參考下
    2024-01-01
  • 淺析mybatis和spring整合的實現(xiàn)過程

    淺析mybatis和spring整合的實現(xiàn)過程

    據(jù)官方的說法,在Mybatis3問世之前,Spring3的開發(fā)工作就已經(jīng)完成了,所以Spring3中還是沒有對Mybatis3的支持。因此由Mybatis社區(qū)自己開發(fā)了一個Mybatis-Spring用來滿足Mybatis用戶整合Spring的需求,下面通過Mybatis-Spring來整合Mybatis跟Spring的用法做介紹
    2015-10-10
  • SpringBoot中干掉Whitelabel Error Page返回自定義內(nèi)容的實現(xiàn)

    SpringBoot中干掉Whitelabel Error Page返回自定義內(nèi)容的實現(xiàn)

    這篇文章主要介紹了SpringBoot中干掉Whitelabel Error Page返回自定義內(nèi)容的實現(xiàn)方法,本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2021-01-01
  • Java集合框架之List ArrayList LinkedList使用詳解刨析

    Java集合框架之List ArrayList LinkedList使用詳解刨析

    早在 Java 2 中之前,Java 就提供了特設(shè)類。比如:Dictionary, Vector, Stack, 和 Properties 這些類用來存儲和操作對象組。雖然這些類都非常有用,但是它們?nèi)鄙僖粋€核心的,統(tǒng)一的主題。由于這個原因,使用 Vector 類的方式和使用 Properties 類的方式有著很大不同
    2021-10-10
  • SpringBoot與Elasticsearch8.0集成的實現(xiàn)步驟

    SpringBoot與Elasticsearch8.0集成的實現(xiàn)步驟

    本文介紹了SpringBoot與Elasticsearch8.0的集成方法和最佳實踐,詳細探討了Elasticsearch8.0的安全增強、性能優(yōu)化、API改進等新特性,下面就一起來了解一下
    2026-04-04
  • Java中json處理工具JsonPath的使用教程

    Java中json處理工具JsonPath的使用教程

    JsonPath類似于XPath,是一種json數(shù)據(jù)結(jié)構(gòu)節(jié)點定位和導(dǎo)航表達式語言,這篇文章主要為大家介紹了JsonPath的基本使用,需要的小伙伴可以參考下
    2023-08-08
  • Java根據(jù)控制臺實現(xiàn)定位異常

    Java根據(jù)控制臺實現(xiàn)定位異常

    這篇文章主要介紹了Java根據(jù)控制臺定位異常,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2020-05-05
  • 詳解如何更改SpringBoot TomCat運行方式

    詳解如何更改SpringBoot TomCat運行方式

    這篇文章主要介紹了詳解如何更改SpringBoot TomCat運行方式,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2021-04-04
  • Java中的Set、List、Map的用法與區(qū)別介紹

    Java中的Set、List、Map的用法與區(qū)別介紹

    這篇文章主要介紹了Java中的Set、List、Map的用法與區(qū)別,需要的朋友可以參考下
    2016-06-06

最新評論

江西省| 青海省| 寿宁县| 雅安市| 时尚| 兴文县| 武鸣县| 调兵山市| 宜川县| 图木舒克市| 五河县| 鄂尔多斯市| 文水县| 濉溪县| 建德市| 黄陵县| 隆德县| 岱山县| 顺平县| 基隆市| 阿克苏市| 共和县| 澄江县| 铜陵市| 海淀区| 凤冈县| 新竹县| 咸丰县| 红安县| 横峰县| 乌兰县| 佛冈县| 山阴县| 曲水县| 东宁县| 永昌县| 阜阳市| 太原市| 临洮县| 湖北省| 辉南县|