Java集合将字符串转换为字符列表

我想将包含的字符串转换为字符abc列表和字符哈希集。如何在Java中做到这一点?

List<Character> charList = new ArrayList<Character>("abc".toCharArray());

回答:

您将不得不使用循环,或创建一个像Arrays.asList这样的集合包装器,该包装器可用于原始char数组(或直接用于字符串)。

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

Set<Character> unique = new HashSet<Character>();

for(char c : "abc".toCharArray()) {

list.add(c);

unique.add(c);

}

这是一个Arrays.asList类似字符串的包装器:

public List<Character> asList(final String string) {

return new AbstractList<Character>() {

public int size() { return string.length(); }

public Character get(int index) { return string.charAt(index); }

};

}

不过,这是一个不变的列表。如果您想要一个可变的列表,请使用char[]

public List<Character> asList(final char[] string) {

return new AbstractList<Character>() {

public int size() { return string.length; }

public Character get(int index) { return string[index]; }

public Character set(int index, Character newVal) {

char old = string[index];

string[index] = newVal;

return old;

}

};

}

与此类似,您可以为其他原始类型实现此功能。

所述番石榴库包含几个基本数组类相似列表包装方法,像Chars.asList,并在弦乐的包装Lists.charactersOf(字符串)。

以上是 Java集合将字符串转换为字符列表 的全部内容, 来源链接: utcz.com/qa/421787.html

回到顶部