在我的案例中,Java ArrayList不处理字符

Pho*_*nix 1 java sorting algorithm

我有一个很大的疑问.我想在这里找到一个不重复的字符串的第一个字符.例如,对于下面的输入应该返回'c'.所以这就是我计划这样做的方式.但是我注意到remove方法希望删除索引为98而不是删除对象"a".如何强制它删除对象"a"而不是从索引中删除?

为什么这不起作用?

我该怎么做才能改变这个?

ArrayList总是保证按顺序存储东西吗?

public void findStartingLetter()
{
        String[] array={"a","b","c","d","b","a","d","d","d"};

        List<Character> list = new ArrayList<Character>();



        for(String i:array)
        {
            if(list.contains(i.charAt(0)))
                list.remove(i.charAt(0));
            else
                list.add(i.charAt(0));

        }

    }
Run Code Online (Sandbox Code Playgroud)

编辑:

性能方面是O(n)函数吗?

小智 6

你必须手动转换为a,Character因为char获取转换为a int,而转换为索引而不是值.

list.remove((Character) i.charAt(0));
Run Code Online (Sandbox Code Playgroud)

将确保它正确完成.