亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

通過 java 8 獲取和編輯子列表在主列表中

通過 java 8 獲取和編輯子列表在主列表中

慕的地8271018 2021-12-01 19:46:45
我有很多主列表,其中有一個子列表。如何訪問子列表并通過java 8進行編輯。例子。List<Student> list = ....; list[0]  = {id = 1, name = "aa", ListMinute = List<String> ls1}list[1]  = {id = 2, name = "bb", ListMinute = List<String> ls2}list[2]  = {id = 3, name = "cc", ListMinute = List<String> ls3}list[3]  = {id = 4, name = "dd", ListMinute = List<String> ls4}list[0] 的子列表示例:List<String> ls1 = {"120", "150", "45", "195"}; //List in minutes.如何將所有子列表從分鐘轉換為小時和分鐘。list[0] 的子列表的輸出:List<String> ls1 = {"2", "2.30", "0.45", "3.15"}; // List in hours and minutes.
查看完整描述

2 回答

?
呼啦一陣風

TA貢獻1802條經驗 獲得超6個贊

獲得轉換的方法之一可能是:


List<String> ls1 = List.of("120", "150", "45", "195"); //List in minutes.

List<String> out = ls1.stream()

         .mapToInt(Integer::parseInt)

         .mapToObj(min -> String.format("%d.%d", min / 60, min % 60)) 

         .collect(Collectors.toList());

// would output 2.0 instead of 2 though

如果你想更新你現有的List,你可以試試replaceAll


List<String> ls1 = Stream.of("120", "150", "45", "195").collect(Collectors.toList()); //List in minutes.

ls1.replaceAll(a -> {

    int min = Integer.parseInt(a);

    return String.format("%d.%d", min / 60, min % 60);

});


查看完整回答
反對 回復 2021-12-01
?
青春有我

TA貢獻1784條經驗 獲得超8個贊

您可以像這樣修改您的list實例replaceAll


list.stream()

        .map(Student::getListMinute)

        .forEach(minutes ->

                minutes.replaceAll(min -> format("%d.%d", parseInt(min) / 60, parseInt(min) % 60))

        );


查看完整回答
反對 回復 2021-12-01
  • 2 回答
  • 0 關注
  • 186 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號