2017-04-02 65 views
-6

我需要創建一個既有colums 1和2等於列表的列表我需要創建一個既有colums 1和2等於

public static List<Integer> lessThanZero(List<Integer> l) { 
     for(int x = 0; x < list.length; x++) { 
      if(list[x] < 0){ 

      } 
     } 
    } 
+0

「不起作用」是什麼意思*完全* *?請準確描述你期望它做什麼以及它做了什麼。 – Makyen

+0

歡迎來到Stack Overflow!尋求調試幫助的問題(「爲什麼這個代碼不工作?」)必須在問題本身中包含所需的行爲,特定的問題或錯誤以及必要的最短代碼**。沒有明確問題陳述的問題對其他讀者無益。請參閱:[如何創建最小,完整和可驗證示例](http://stackoverflow.com/help/mcve)。 –

+0

我期待它通過刪除小於0的所有整數來變更列表。 – user6824158

回答

3

注:該問題已經大量編輯,以點這是一個完全不同的問題。這個答案是針對原始問題的。編輯的問題在這一點上對我毫無意義,所以我沒有修改這個答案來解決編輯後的版本問題。

這應做到:

public static List<Integer> lessThanZero(List<Integer> list) { 
    List<Integer> result = new ArrayList<>(); 
    for (Integer val : list) { 
     if (val < 0) { 
      result.add(val); 
     } 
    } 
    return result; 
} 

或者,如Java 8中,你可以用流做到這一點:

public static List<Integer> lessThanZero(List<Integer> list) { 
    return list.stream().filter(v -> v < 0).collect(Collectors.toList()); 
} 
2

在Java 8+,你可以使用一個Stream,一個filterCollector。像,

public static List<Integer> lessThanZero(List<Integer> l) { 
    return l.stream().filter(x -> x < 0).collect(Collectors.toList()); 
} 

在早期版本中,您目前的做法將工作 - 但你需要的東西你收集他們保存的值(和我寧願for-each循環,這是值得注意的是,List是不是陣列)

public static List<Integer> lessThanZero(List<Integer> l) { 
    List<Integer> r = new ArrayList<>(); 
    for (Integer v : l) { 
     if (v < 0) { 
      r.add(v); 
     } 
    } 
    return r; 
} 
-1

希望這會有所幫助。

public static List<Integer> lessThanZero(List<Integer> list) { 

     List<Integer> lessthanlist = new ArrayList<>(); 
     for(int x = 0; x < list.length; x++) { 
       if(list[x] < 0){ 
        lessthanlist.add(list[x]); 
       } 
     } 

      return lessthanlist; 
} 
+0

突變部分呢? – user6824158

相關問題