java - 在 JAVA 中删除列表中的所有 10 并在列表末尾附加相同数量的 0

标签 java

我已经完成了其中的大部分工作。任何人都给我一个小提示,告诉我如何在列表中找到 10 的个数。 例如。输入将是

[10,4,6,10,6,7]

输出必须是

[4,6,6,7,0,0]

import java.util.ArrayList;
import java.util.List;

public class prob64 {
   public static List output;
   public static void getVal(List ll)
   {
       int count=0;
       List ll1=new ArrayList();
       for(int i=0;i<ll.size();i++)
       {
           if((int)ll.get(i)!=10)
           {
               ll1.add(ll.get(i));
           }
           if((int)ll.get(i)==10)
           {
               count++;
           }
       }
       if(count>0)
       {
          ll1.add(8);
       }   
       output=ll1;
       System.out.println(output);
   }

   public static void main(String[] args) {
        List<Integer> ll=new ArrayList();
        ll.add(10);
        ll.add(1);
        ll.add(10);
        ll.add(2);
        prob64.getVal(ll);
   }
}

我得到的当前输出是 [1,2,0]。我应该得到 [1,2,0,0]

最佳答案

List.remove(Object) 删除第一个匹配元素。它还返回一个 boolean 值,指示删除是否真的完成,所以这应该有效:

while(ll.remove(10)) {
  ll.add(0);
}

也就是只要找到10去掉,就加上0。请注意,List.add 将元素添加到列表的末尾,这是您的要求(如果我是正确的话)。

我想这是某种学习练习,但我建议您为您的变量找到更好的名称(llll1 不会使您的函数易于编写阅读)。

关于java - 在 JAVA 中删除列表中的所有 10 并在列表末尾附加相同数量的 0,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15185981/

相关文章:

带有 MediaTracker、线程和计时器的 Java 动画小程序

java - 在 Docker 容器中从 Java 创建(并保留)文件

java - System.in 上的 readLine,无需挂起 Swing GUI 线程

java - 如何使用普通的虚拟主机包设置具有特定 IP 和端口的 Java 服务器?

java - 什么是好的嵌入式 Java LDAP 服务器?

Java并发修改异常

Java交替方法不起作用

java - 捕获以前的错误

java - 我可以借助自定义 doclet 生成 Javadoc 注释吗?

java - 为什么 java.lang.Thread 在启动时不调用其显式 java.lang.Runnable 的 run() 方法?