我一直被困在這個作業上,我真的不知道該如何理解它。我需要做的是創建一個方法 "lengths",該方法獲得一個字串變數串列作為引數,然后回傳一個包含字串長度的陣列串列。
輸出結果應該如下:
字串的長度。
字串的長度。[5, 3, 10, 27]
import java.util.ArrayList;
public class LengthsOfStrings {
public static ArrayList<Integer> lengths(ArrayList<String> list){
ArrayList<Integer> lengthList = new ArrayList<Integer>()。
//在這里寫下你的代碼。
return lengthList;
}
public static void main(String[] args) {
ArrayList<String> list = new ArrayList<String>()。
list.add("Ciao")。
list.add("Moi");
list.add("Benvenuto!");
list.add("badger badger badger")。
ArrayList<Integer> lengths = lengths(list);
System.out.println("The lengths of the Strings: " lengths);
}
}
uj5u.com熱心網友回復:
你必須逐個字串,找出它的長度,并將該長度放入新的ArrayList。這可以用for-each回圈來完成,就像這樣 -
import java.util.ArrayList。
public class LengthsOfStrings {
public static ArrayList<Integer> lengths(ArrayList<String> list){
ArrayList<Integer> lengthList = new ArrayList<Integer>()。
for (String str : list){
lengthList.add(str.length())。
}
return lengthList;
}
public static void main(String[] args) {
ArrayList<String> list = new ArrayList<String>()。
list.add("Ciao")。
list.add("Moi");
list.add("Benvenuto!");
list.add("badger badger badger")。
ArrayList<Integer> lengths = lengths(list);
System.out.println("The lengths of the Strings: " lengths);
}
}
uj5u.com熱心網友回復:
另一個使用Java 8流的解決方案:
public static List< Integer> lengths(ArrayList<String> list) {
return list.stream().map(String::length).collectors.toList()。
}
public static void main(String[] args){
ArrayList<String> list = new ArrayList<String>()。
list.add("Ciao")。
list.add("Moi");
list.add("Benvenuto!");
list.add("badger badger badger")。
List<Integer> lengths = lengths(list);
System.out.println("The lengths of the Strings: " lengths);
}
然后輸出:
The lengths of the Strings: [4, 3, 10, 27]
uj5u.com熱心網友回復:
對于Java 8及以上版本,你可以簡單地使用forEach方法來實作:
public static ArrayList< Integer> lengths(ArrayList<String> list) {
ArrayList<Integer> lengthList = new ArrayList<Integer>()。
list.forEach(i -> lengthList.add(i.length()))。
return lengthList;
}
如果使用Java 7或以下版本:
public static ArrayList< Integer> lengths(ArrayList<String> list) {
ArrayList<Integer> lengthList = new ArrayList<Integer>()。
for(String str : list) {
lengthList.add(str.length())。
}
return lengthList;
}
避免使用Stream,因為一個簡單的forEach就可以滿足你的要求。應該避免不必要的創建Stream以獲得更好的性能。
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/331554.html
標籤:
