我需要创建一个既有colums 1和2等于

问题描述:

我需要创建一个既有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://*.com/help/mcve)。 –

+0

我期待它通过删除小于0的所有整数来变更列表。 – user6824158

注:该问题已经大量编辑,以点这是一个完全不同的问题。这个答案是针对原始问题的。编辑的问题在这一点上对我毫无意义,所以我没有修改这个答案来解决编辑后的版本问题。

这应做到:

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()); 
} 

在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; 
} 

希望这会有所帮助。

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