对于列表,这似乎是一个非常干净的解决方案。它应该允许使用特定的List实现,以提供对于线性遍历列表和在恒定时间内替换字符串都是最佳的实现。
public static void replace(List<String> strings){ ListIterator<String> iterator = strings.listIterator(); while (iterator.hasNext()) { iterator.set(iterator.next().toLowerCase()); }}
这是我可以拿出的最好的一套。正如其他人所说,由于多种原因,无法在集合中就地执行该 *** 作。小写字符串可能需要放置在集合中与其替换的字符串不同的位置。此外,如果小写字符串与已添加的另一个小写字符串相同,则可能根本不会将其添加到集合中(例如,“
HELLO”和“ Hello”都将产生“ hello”,这将只能添加到集合一次)。
public static void replace(Set<String> strings){ String[] stringsArray = strings.toArray(new String[0]); for (int i=0; i<stringsArray.length; ++i) { stringsArray[i] = stringsArray[i].toLowerCase(); } strings.clear(); strings.addAll(Arrays.asList(stringsArray));}
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)