0

我正在尝试创建某种循环来检查数组中的高分值,如果它高于其他一些值,则将其添加到数组中,然后将所有较低的值向下移动。

例如,数组被调用Integer highScoreArray[12, 9, 8, 7]并且其中有 4 个值。我有另一个数组,它保留了获得高分的相应日期,称为String highDateArray["12/5/11", "3/4/11", "4,4/12", "6/6/10"].

我将如何向数组添加新值和相应的日期?即如果新值是“10”并且日期是“5/29/12”?

我不想使用 sort 命令,highScoreArray[]因为那样我将无法跟踪highDateArray[]. 我希望之后在两个单独的线性布局中对两列文本中的两个数组进行排序,所以试图将它们分开,我是否让这变得更加困难?

for (int i = 0; i < highScoreArray.length; i++) 
{
    if(newHighScore>=highScoreArray[i])
    {
        // DO SOMETHING   
    }
}
4

2 回答 2

3

如何使用hashmap存储值和相应的日期?并使用值对它们进行排序?

希望这些链接对您有所帮助

如何对哈希图进行排序

按键排序HashMap

如何对地图进行排序

于 2012-05-30T02:48:04.497 回答
1

您可以创建一个对象并实现 Comparable 以使其更容易。

public class HighScore implements Comparable {
    private int score;
    private Date date; // Or you can just use String

    //  Getters/Setters here
    ...

    public int compareTo(HighScore anotherScore) {
        //  Checking here
        //  Return 0 if this and anotherScore is same
        //  Return 1 if this greater than anotherScore
        //  Return -1 if this smaller than anotherScore
    }

}

所以在你的循环中

for (int i = 0; i < highScoreArray.length; i++) {
    HighScore highScore = highScoreArray[i];
    if (newHighScore.compareTo(highScore) > 0) {
        //  Do something
    }
}
于 2012-05-30T02:49:40.550 回答