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

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

如何按排序順序查找以小寫“a”開頭的前三個字符串

如何按排序順序查找以小寫“a”開頭的前三個字符串

楊__羊羊 2024-01-17 17:09:12
Java 8 流 API /a如何查找按排序順序以小寫字母開頭的前三個字符串。如何使用 打印結果System.out.println()。List<String> myList =   Arrays.asList("A1", "a2", "b1", "c2", "A2", "a3", "c2", "A3", "c2", "a1", "a4", "a6");       myList.stream().filter(s -> s.startsWith("a"))             .map(String::toLowerCase)             .sorted()             .forEach(s ->System.out.println("Filtered value: " + s)); a如何只打印按排序順序以小寫字母開頭的前三個字符串?請幫忙& 在這種情況下:我不明白嵌套的這個任務:如何只打印前三個字符串,它們按排序順序以小寫 a 開頭?公共課任務{public static void main(String[] args){final List<String> myList1 =    Arrays.asList("c1", "b2", "G3", "g4", "b1",                  "b3", "G5", "g3", "b5", "e2", "b8", "b2",                  "g8", "i9", "b10", "j6", "s2", "g2", "B9",                  "B1", "g7", "b8", "N7", "e9");final List<String> myList2 =    Arrays.asList("c1", "b2", "G3", "g4", "b1",                  "b3", "G5", "g3", "b5", "e2", "b8", "b2",                  "g8", "i9", "b10", "j6", "s2", "g2", "B9",                  "B1", "g7", "b8", "N7", "e9");List<List<String>> nestedList = new ArrayList<>();nestedList.add(myList1);nestedList.add(myList2);}}
查看完整描述

3 回答

?
Cats萌萌

TA貢獻1805條經驗 獲得超9個贊

這似乎有效 - 需要告訴列表您正在使用什么類型的對象


List<String> myList = Arrays.asList("A1", "a2", "b1", "c2", "A2", 

                                   "a3", "c2", "A3", "c2", "a1", "a4", "a6");


myList.stream().filter(s -> s.startsWith("a")).sorted().limit(3)

forEach(s ->System.out.println("Filtered value: " + s));

此外,由于您只需要小寫,a因此無需轉換為小寫。


查看完整回答
反對 回復 2024-01-17
?
jeck貓

TA貢獻1909條經驗 獲得超7個贊

您可以.limit(3)在排序后添加到您的流中。需要輸入列表才能使用 String 方法,除非您希望將結果轉換為小寫,否則List<String>不需要。toLowerCase


List<String> myList = List.of(

    "A1", "a2", "b1", "c2", "A2", "a3", "c2", "A3", "c2", "a1", "a4", "a6");

myList.stream().filter(s -> s.charAt(0) == 'a').sorted().limit(3)

    .forEach(s -> System.out.println("Filtered value: " + s));

更新:對于從每個字符串的索引 1 開始的數字排序:


Comparator<String> comparator = Comparator.comparing(

    s -> Integer.parseInt(s.substring(1)));

myList.stream().filter(s -> s.charAt(0) == 'a').sorted(comparator).limit(3)

    .forEach(s -> System.out.println("Filtered value: " + s));


查看完整回答
反對 回復 2024-01-17
?
largeQ

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

請找到以下相同的代碼:

List<String> myList = Arrays.asList("A1", "a2", "b1", "c2", "A2", "a3", "c2", "A3", "c2", "a1", "a4", "a6");
            myList.stream().filter(x-> x.startsWith("a")).sorted().limit(3).forEach(System.out :: println);



查看完整回答
反對 回復 2024-01-17
  • 3 回答
  • 0 關注
  • 189 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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