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())); (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |