中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

JAVA中stream流的基礎處理方法有哪些

發布時間:2023-03-24 16:31:32 來源:億速云 閱讀:167 作者:iii 欄目:開發技術

這篇文章主要介紹了JAVA中stream流的基礎處理方法有哪些的相關知識,內容詳細易懂,操作簡單快捷,具有一定借鑒價值,相信大家閱讀完這篇JAVA中stream流的基礎處理方法有哪些文章都會有所收獲,下面我們一起來看看吧。

Stream流程處理情況

1:按指定字段獲取集合對象中的字段:

List<String> idList = initUserList.stream().map(User::getId).collect(Collectors.toList());

2:按指定字段對集合對象進行排序:

List<User> collect = initUserList.stream().sorted(Comparator.comparing(User::getAge)).collect(Collectors.toList());

3: 按指定字段對集合對象去重處理

List<User> collect = initUserList.stream().collect(Collectors.collectingAndThen( Collectors.toCollection(()->new TreeSet<>(Comparator.comparing(User::getName))), ArrayList::new));

4: 對集合對象批量處理

initUserList.forEach((User user) ->user.setName(user.getName()+"123"));

5: 將集合對象中指定字段轉數組

String[] strings = initUserList.stream().map(User::getId).toArray(String[]::new);

完整代碼如下:

對象類:

package com.dom;
 
import java.util.Date;
 
/**
 * @author Administrator
 */
public class User {
 
    private String id;
    private String name;
    private String sex;
    private int age;
    private Date birthday;
 
    @Override
    public String toString() {
        return "User{" +
                "id='" + id + '\'' +
                ", name='" + name + '\'' +
                ", sex='" + sex + '\'' +
                ", age=" + age +
                ", birthday=" + birthday +
                '}';
    }
 
    public String getId() {
        return id;
    }
 
    public void setId(String id) {
        this.id = id;
    }
 
    public String getName() {
        return name;
    }
 
    public void setName(String name) {
        this.name = name;
    }
 
    public String getSex() {
        return sex;
    }
 
    public void setSex(String sex) {
        this.sex = sex;
    }
 
    public int getAge() {
        return age;
    }
 
    public void setAge(int age) {
        this.age = age;
    }
 
    public Date getBirthday() {
        return birthday;
    }
 
    public void setBirthday(Date birthday) {
        this.birthday = birthday;
    }
}

初始化構建類:

package com.create;
 
import com.dom.User;
 
import java.util.*;
 
public class CreateUser {
 
    public static List<User> getInitUserList(){
        List<User> list = new ArrayList<>();
        for (int i = 0; i < 10; i++) {
            User user = new User();
            user.setId(String.valueOf(i*10));
            user.setName("名稱"+i);
            user.setAge(i+2*i);
            if (i%3!=0){
                user.setSex("男");
            }else{
                user.setSex("女");
            }
            user.setBirthday(new Date(new Random().nextLong()*(369 - 258)*i));
            list.add(user);
        }
        //設置重復名稱用戶
        User user1 = new User();
        user1.setId(String.valueOf(37));
        user1.setName("名稱"+3);
        user1.setAge(11);
        user1.setSex("男");
        user1.setBirthday(new Date(new Random().nextLong()*(369 - 258)*2));
        list.add(user1);
        User user2 = new User();
        user2.setId(String.valueOf(58));
        user2.setName("名稱"+5);
        user2.setAge(17);
        user2.setSex("女");
        user2.setBirthday(new Date(new Random().nextLong()*(369 - 258)*2));
        list.add(user2);
        return list;
    }
}

主類:

package com.test.roc;
 
import com.create.CreateUser;
import com.dom.User;
 
import java.util.List;
 
public class ListTest {
 
    public static void main(String[] args) {
        List<User> initUserList = CreateUser.getInitUserList();
        setOut(initUserList);
        System.out.println("----------------↑↑↑↑↑↑↑↑↑↑↓↓↓↓↓↓↓↓↓↓-------------------");
        //流處理
        //1按指定字段獲取集合對象中的字段
//        List<String> idList = initUserList.stream().map(User::getId).collect(Collectors.toList());
        //2 按指定字段對集合對象進行排序:
//        List<User> collect = initUserList.stream().sorted(Comparator.comparing(User::getAge)).collect(Collectors.toList());
        //3 按指定字段對集合對象去重處理
//        List<User> collect = initUserList.stream().collect(Collectors.collectingAndThen(
//                Collectors.toCollection(()->new TreeSet<>(Comparator.comparing(User::getName))), ArrayList::new
//        ));
        //4 對集合對象批量處理
//        initUserList.forEach((User user) ->user.setName(user.getName()+"123"));
        //5 將集合對象中指定字段轉數組
//        String[] strings = initUserList.stream().map(User::getId).toArray(String[]::new);
//        for (String string : strings) {
//            System.out.println(string);
//        }
    }
 
    public static void setOut(List<User> list){
        for (User user : list) {
            System.out.println(user);
        }
    }
}

結果截圖1:

JAVA中stream流的基礎處理方法有哪些

結果截圖2:

JAVA中stream流的基礎處理方法有哪些

結果截圖3:

JAVA中stream流的基礎處理方法有哪些

 結果截圖4:

JAVA中stream流的基礎處理方法有哪些

 結果截圖5:

JAVA中stream流的基礎處理方法有哪些

關于“JAVA中stream流的基礎處理方法有哪些”這篇文章的內容就介紹到這里,感謝各位的閱讀!相信大家對“JAVA中stream流的基礎處理方法有哪些”知識都有一定的了解,大家如果還想學習更多知識,歡迎關注億速云行業資訊頻道。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

肇源县| 胶南市| 江油市| 博罗县| 尚义县| 页游| 屏东市| 昌吉市| 黄石市| 东宁县| 丽江市| 龙岩市| 富川| 桂平市| 滦平县| 宁都县| 石屏县| 格尔木市| 漠河县| 衡阳县| 达州市| 库尔勒市| 灌南县| 宝兴县| 邵阳市| 青田县| 金寨县| 诸暨市| 临汾市| 黎城县| 江城| 江门市| 神农架林区| 福清市| 苏尼特左旗| 方山县| 普格县| 乌审旗| 乃东县| 南昌市| 九寨沟县|