排序的最佳方法是什么ArrayList<String[]>
在Java中?
Where String[]
is...
String[] strAarray = new String[] { "abc", "abc", "abc", "abc", "abc", "abc", "abc" };
现在我想按第二个值对整个 ArrayList 进行排序String[]
(在索引 1 处)。我需要遍历每一个String[]
然后是索引 1 处的子级。
有任何想法吗?
Edit:
我还有更多的描述。我实际上是从一些 XML 文件获取学校,XML 中的每个节点都有 7 个属性。现在我正在创建一个 ArrayListString[]
它保存着 XML 中的学校节点String[] strArray
本身保存着特定节点的属性。
现在,我想要对其进行排序的方式是,它应该根据学校状态(XML 中的第二个属性)和索引 1 进行排序String[]
ArrayList 里面。
我需要首先遍历每个学校(XML 中的节点,String[]
在 Java 中),然后我必须过滤 State(XML 中的 State 属性,String[1]
在爪哇)。
从...开始Collections.sort,采用自定义比较器的一个 http://download.oracle.com/javase/6/docs/api/java/util/Collections.html#sort(java.util.List,%20java.util.Comparator)。你需要写一个自定义的比较器 http://download.oracle.com/javase/6/docs/api/java/util/Comparator.html为此也。
例如,假设您想要依赖在 CompareTo 方法中定义的字符串的自然排序:
public static void main(String[] args) throws Exception {
ArrayList<String[]> listOfStringArrays = new ArrayList<String[]>();
listOfStringArrays.add(new String[] {"x","y","z"});
listOfStringArrays.add(new String[] {"a","b","c"});
listOfStringArrays.add(new String[] {"m","n","o"});
Collections.sort(listOfStringArrays,new Comparator<String[]>() {
public int compare(String[] strings, String[] otherStrings) {
return strings[1].compareTo(otherStrings[1]);
}
});
for (String[] sa : listOfStringArrays) {
System.out.println(Arrays.toString(sa));
}
/* prints out
[a, b, c]
[m, n, o]
[x, y, z]
*/
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)