我正在创建一个数组,它将对arrayString [10] [2]进行排序,然后使用JOptionPane将结果显示给用户。 2D数组的长度是无关紧要的,只需注意它不会被完全填充,从而导致空值。当我向用户显示信息时,我想排除空值。目前我使用了一个变量“isNull”来完成这项工作,但我知道这是低效的,我正在寻找合适的方法来实现这一目标。
包含两行数据的数组
String arrayString[][] = new String[10][2];
arrayString[0][0] = "Doe";
arrayString[0][1] = "John";
arrayString[1][0] = "Doe";
arrayString[1][1] = "Jane";
实际的程序逻辑
String output = "";
int isNull = 0;
for (int i = 0; i < arrayString.length; i++)
{
for (int j = 0; j < arrayString[i].length; j++)
{
if ( arrayString[i][j] == null )
{
isNull = 1;
break;
}
else
output += arrayString[i][j] + " ";
isNull = 0;
}
if(isNull == 1)
break;
else
output += " \n";
}
JOptionPane.showMessageDialog(null,output,"Results",JOptionPane.INFORMATION_MESSAGE);
感谢所有帮助人员,我不会通过我的代码重新评估它并得到一个我自己满意的答案。感谢您的回复。
解决
for (int i = 0; i < arrayString.length; i++)
{
for (int j = 0; j < arrayString[i].length; j++)
{
if ( arrayString[i][0] == null)
break;
else
output += arrayString[i][j] + " ";
}
if ( arrayString[i][0] == null)
break;
else
output += " \n";
}
答案 0 :(得分:0)
// Make a List of all anagram groups above size threshold.
List<List<String>> winners = new ArrayList<List<String>>();
for (List<String> l : m.values())
if (l.size() >= minGroupSize)
winners.add(l);
// Sort anagram groups according to size
Collections.sort(winners, new Comparator<List<String>>() {
public int compare(List<String> o1, List<String> o2) {
return o2.size() - o1.size();
}});
// Print anagram groups.
for (List<String> l : winners)
System.out.println(l.size() + ": " + l);
看这篇文章更准确: http://docs.oracle.com/javase/tutorial/collections/algorithms/index.html#sorting