加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Java > 正文

java – 如何对由“null”和字符串组合的数组进行排序?

发布时间:2020-12-15 04:47:50 所属栏目:Java 来源:网络整理
导读:我有一个20的数组: private Karte[] deckArr;deckArr = new Karte[20]; 现在我想每次添加新卡时按名称对数组进行排序. 附:单击一个按钮后,卡会逐个添加,因此阵列中有空格. 自…… Arrays.sort(deckArr.getName()); …方法在这里不起作用我问自己是怎么做的
我有一个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()));

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读