java - 如何对由 "null"和字符串组合的数组进行排序?

标签 java arrays string sorting null

我有一个 20 的数组:

private Karte[] deckArr;
deckArr = new Karte[20];

现在我想在每次添加新卡片时按卡片名称对数组进行排序。

附言单击按钮后,卡片会一张一张地添加,因此数组中有空格。

自从...

Arrays.sort(deckArr.getName());

...方法在这里不起作用我问自己它是如何完成的。

卡牌类:

package Model;

/**
 * Created by 204g07 on 18.03.2016.
 */
public class Karte implements ComparableContent<Karte>{
    private int schoenheit;
    private int staerke;
    private int geschwindigkeit;
    private int intelligenz;
    private int coolness;
    private int alter;
    private String seltenheit;
    private String name;

    public Karte(String pName, int pSchoenheit,int pStaerke,int pGeschwindigkeit, int pIntelligenz, int pCoolness, int pAlter, String pSeltenheit ) {
        name=pName;
        schoenheit=pSchoenheit;
        staerke=pStaerke;
        geschwindigkeit=pGeschwindigkeit;
        intelligenz=pIntelligenz;
        coolness=pCoolness;
        alter=pAlter;
        seltenheit=pSeltenheit;
    }
    //getter
    public int getSchoenheit(){
        return schoenheit;
    }
    public int getStaerke(){
        return staerke;
    }
    public int getGeschwindigkeit(){
        return geschwindigkeit;
    }
    public int getIntelligenz(){
        return intelligenz;
    }
    public int getCoolness(){
        return coolness;
    }
    public int getAlter(){
        return alter;
    }
    public String getSeltenheit(){
        return seltenheit;
    }
    public String getName(){
        return name;
    }


    //setter
    public void setSchoenheit(int pSchoenheit){
        schoenheit = pSchoenheit;
    }
    public void setStaerke(int pStaerke){
        staerke = pStaerke;
    }
    public void setGeschwindigkeit(int pGeschwindigkeit){
        geschwindigkeit = pGeschwindigkeit;
    }
    public void setIntelligenz(int pIntelligenz){
        intelligenz = pIntelligenz;
    }
    public void setCoolness(int pCoolness){
        coolness = pCoolness;
    }
    public void setAlter(int pAlter){
        alter = pAlter;
    }
    public void setSeltenheit(String pSeltenheit){
        seltenheit = pSeltenheit;
    }
    public void setName(String pName){
        name = pName;
    }

    @Override
    public boolean isLess(Karte karte) {
        if (getName().compareTo(karte.getName()) < 0){
            return true;
        }else{
            return false;
        }
    }

    @Override
    public boolean isEqual(Karte karte) {
        return getName() == karte.getName();
    }

    @Override
    public boolean isGreater(Karte karte) {
        if (getName().compareTo(karte.getName()) > 0){
            return true;
        }else{
            return false;
        }
    }




}

感谢任何帮助!

最佳答案

为什么不直接使用 ArrayList 呢?更容易添加、删除元素,并且永远不会有空槽。

无论如何,您可以像这样使用 Collections.sort 进行排序:

deckArr = new ArrayList<Karte>();
Collections.sort(deckArr, Comparator.comparing(karte -> karte.getName()));

关于java - 如何对由 "null"和字符串组合的数组进行排序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36582958/

相关文章:

用于遍历目录/文件树和输出树作为嵌套 UL 的 PHP 脚本

php - 如何剥离数据 :image part from a base64 string of any image type in PHP

string - BATch forfiles,带引号的命令

java - Java中将字符串转换为二维字符串数组

java - 编译java代码时缺少参数

java - @Repository count 查询 - 方法executeUpdate 不能用于查询

java - Mallet CRF 分类器出现 OutOfMemoryError

java - 错误 : cannot find symbol method setAlpha(float). setAlpha() 不适用于具有偏移量的数组

javascript - 在 Javascript 中迭代 JSON 对象时动态插入值

arrays - 从数组中删除数组项