【问题标题】:How to remove a character from a arraylist directly如何直接从arraylist中删除一个字符
【发布时间】:2020-02-11 15:22:06
【问题描述】:

这段代码说

注意:Hello.java 使用或覆盖了已弃用的 API。

注意:使用 -Xlint:deprecation 重新编译以了解详细信息。

    import java.util.*;
    public class Hello {

    public static void main(String[] args) {
        

        String s="hello";
        ArrayList<Character> al=new ArrayList<Character>();
        for(int i=0;i<s.length() ;i++)
        {
            al.add(s.charAt(i));
            
        }
        Character ch=new Character('h');
       al.remove(ch);
        System.out.print(al);
        
    }
}

【问题讨论】:

  • 好的,但实际的问题是什么?错误是否说明问题出在哪一行?
  • 略过它,new Character 肯定已被弃用。阅读其 Javadoc 以了解原因和替代方案。
  • 尝试使用char 而不是Character
  • 这是Javadoc,上面写着:已弃用。很少使用这个构造函数。静态工厂 valueOf(char) 通常是更好的选择,因为它可能会产生明显更好的空间和时间性能。
  • 我应该直接使用remove()方法删除字符'h'而不传递索引

标签: java arraylist


【解决方案1】:

除了Character ch=new Character('h') 之外的所有内容都可以在您的代码中使用。

替换

Character ch=new Character('h');

Character ch = Character.valueOf('h');

【讨论】:

    【解决方案2】:

    你可以直接使用 -

    al.remove(Character.valueOf('h'));
    

    【讨论】:

      【解决方案3】:

      我认为首先你应该搜索列表中的字符并检索它的索引。然后使用remove方法。

      myList.remove(index);
      

      【讨论】:

      • 那很好,但我问如何在不通过索引的情况下删除
      猜你喜欢
      • 2016-12-16
      • 1970-01-01
      • 1970-01-01
      • 2014-07-30
      • 1970-01-01
      • 2014-08-17
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多