Java 映射到Charsequence[]但不按顺序
我有一个映射并使用Java 映射到Charsequence[]但不按顺序,java,android,Java,Android,我有一个映射并使用 final CharSequence[] treatmentNameList = treatmentListMap.keySet().toArray(new CharSequence[treatmentListMap.size()]); 但是charsequence[0]和map 0位置的值没有变化。如何在charsequence和map中获得相同的值。 我也试过这个 final CharSequence[] treatmentNameList = treatmentLis
final CharSequence[] treatmentNameList = treatmentListMap.keySet().toArray(new CharSequence[treatmentListMap.size()]);
但是charsequence[0]和map 0位置的值没有变化。如何在charsequence和map中获得相同的值。
我也试过这个
final CharSequence[] treatmentNameList = treatmentListMap.keySet().toArray(new CharSequence[0]);
您将获得一个密钥集。集合一般不保证任何顺序,因此不同调用的顺序不同。如果您能够控制正在使用的映射的实现,那么使用
LinkedHashMap
可能会更幸运。有关它们的更多信息,请参阅Javadocs
本帖:
有更多信息供您参考。请阅读javadoc中的CharSequence。您看到了吗?正如用户1111284所建议的,它非常有效。请查看下面的代码
public class MapToCharSequenceTest {
public static void main(String[] args){
LinkedHashMap<String,String> contents = new LinkedHashMap<String,String>();
contents.put("brass","rod");
contents.put("Silver","spoon");
contents.put("gold","ring");
contents.put("iron","plate");
Set<String> set = contents.keySet();
final CharSequence[] charsequence = set.toArray( new CharSequence[contents.size()]);
for(CharSequence c : charsequence){
System.out.println(c);
}
}
公共类映射到CharsSequenceTest{
公共静态void main(字符串[]args){
LinkedHashMap contents=新建LinkedHashMap();
内容。放置(“黄铜”、“棒”);
内容物。放入(“银”、“匙”);
内容。放置(“黄金”、“戒指”);
内容。放置(“铁”、“板”);
Set=contents.keySet();
final CharSequence[]CharSequence=set.toArray(新的CharSequence[contents.size()]);
for(CharSequence c:CharSequence){
系统输出打印ln(c);
}
}
}您能提供一个输入和预期输出的示例吗?0-treatmentListMap 1-treatmentListMap…….在charsequence[0]=我期待铁的维生素