我有一个函数,它将.properties文件中的值存储到树映射(translatedMap)中,然后从“keymap”中检索新值并将它们也存储到“translatedMap”中。问题是,无论我做什么,似乎总是把大写键和非大写键分开。下面是我的代码:
Properties translation = new Properties(){
private static final long serialVersionUID = 1L;
@Override
public synchronized Enumeration<Object> keys() {
return Collections.enumeration(new TreeSet<Object>(super
.keySet()));
}
};
//creates file and stores values of keyMap into the file
try {
TreeMap<String, String> translatedMap = new TreeMap<String, String>(String.CASE_INSENSITIVE_ORDER);
InputStreamReader in = new InputStreamReader(new FileInputStream(filePath), "UTF-8");
translation.load(in);
// Store all values to TreeMap and sort
Enumeration<?> e = translation.propertyNames();
while (e.hasMoreElements()) {
String key = (String) e.nextElement();
if (key.matches(".#")) {
} else {
String value = translation.getProperty(key);
translatedMap.put(key, value);
}
}
// Add new values to translatedMap
for (String key : keyMap.keySet()) {
// Handle if some keys have already been added; delete so they can be re-added
if (translatedMap.containsKey(key)) {
translatedMap.remove(key);
}
translatedMap.put(key, keyMap.get(key));
}
in.close();
translation.putAll(translatedMap);
File translationFile = new File(filePath);
OutputStreamWriter out = new OutputStreamWriter(new FileOutputStream(translationFile, false), "UTF-8");
translation.store(out, null);
out.close();
} catch (IOException e) {
e.printStackTrace();
}
}
我得到的输出是这样的:
当我想让它出来的时候:
alowercase.key=value3
alother lowercase.key=value4
capitalized_key1=value1
capitalized_key2=value2
more lowercase.keys=value5
属性未排序。插入它们的顺序并不重要,或者如果使用排序的东西调用putAll(),它们就扩展了哈希表。看这里。
问题内容: 我有一个包含人名的字符串arraylist 。我想按字母顺序对arraylist进行排序。 我试图以上述方式对列表进行排序。但是它将排序后的数组显示为: 但我不想使其区分大小写。我想要的结果是: 问题答案: 自定义应该有帮助 或者,如果你使用的是Java 8:
问题内容: 这个问题已经在这里有了答案 : 如何使用SQL Order By语句对不区分大小写的结果进行排序? (3个答案) 4年前关闭。 我要做的就是按字母顺序抓取东西,而忽略大写字母。 这是我在上面使用的代码,但是它总是给我一个SQLite异常,表明COLLATE是语法错误。 android.database.sqlite.SQLiteException:在“ COLLATE”附近:语法错误:
(我用的是Micronaut)我有一个学生名单,我想按名字排序。我正在使用Pageable和sort作为查询参数 萨曼莎 蒂姆 安东尼奥 大卫 索菲亚 而不是: 安东尼奥 大卫 萨曼莎 索菲亚 蒂姆 会有什么问题?
问题内容: 我是Java的新手,正在尝试按字母顺序排列术语的arrayList。(一个术语定义为一个字符和一个整数)(例如 我的代码如下: 为什么这不起作用?以及我该如何完成呢?我的arrayList称为术语,填充有Term类型 问题答案: 您在这行代码中遇到的问题。您的课程不是So 的类型,这两个对象将基于哪个属性或条件方法? 您必须使您的类为Comparable类型。和,根据您的需要覆盖该方法
问题内容: 我有此代码,但仅适用于小写字母。我希望它在不考虑大写字母的情况下对列表进行排序。 问题答案: 这是最佳方法的简单Java示例:
问题内容: 我有一个列表,其中包含代表动物名称的字符串。我需要对列表进行排序。如果使用,它将首先使用大写字符串然后使用小写形式提供列表输出。 但是我需要下面的输出。 输入: 输出: 问题答案: 该方法和功能迈出了关键的参数: 为每个值调用名为in的函数,并在排序时使用返回值,而不会影响实际值: 要在之前进行排序,您必须在键中包含更多信息,以便以给定的顺序对相等的值进行排序: 为和为生成更复杂的密钥