我有一个像
这样的项目列表现在我想根据他们的分数对这些项目进行排序
现在我需要,如果我给项目然后我想知道它的位置
例如:如果我说&衬衫'那么它应该返回4.有没有可用的实用程序?没有项目是1000,像这样我有10个不同的列表。
请帮助我。
答案 0 :(得分:0)
您可以使用该集合,比较器。我将向您展示示例代码,这可能对您有帮助。
public static void main(String[] args) {
TreeMap items=new TreeMap(new Sorting());
items.put(new ListItems("shirts",1245),1245);
items.put(new ListItems("watches",25),25);
items.put(new ListItems("belts",320),320);
items.put(new ListItems("shoes",540),240);
items.put(new ListItems("soaps",110),110);
ArrayList<ListItems>l=new ArrayList(items.keySet());
for(ListItems list:l)
{
if(list.getItem().equalsIgnoreCase("watches"))
System.out.println("index is : "+l.indexOf(list));
}
}
}
class ListItems
{
public String getItem() {
return item;
}
public int getScore() {
return score;
}
public void setScore(int score) {
this.score = score;
}
public ListItems(String item,int score) {
super();
this.score = score;
this.item = item;
}
private int score;
private String item;
@Override
public String toString() {
return "ListItems [score=" + score + ", item=" + item + "]";
}
}
class Sorting implements Comparator<ListItems>
{
@Override
public int compare(ListItems o1, ListItems o2) {
if(o1.getScore()<o2.getScore())
return -1;
if(o1.getScore()>o2.getScore())
return 1;
else
return 0;
}
}