如何按字母顺序对LinkedList进行排序?

卢卡斯·温特伯顿

我环顾四周,但我的研究都没有回答如何实际执行操作或为什么我的系统无法正常工作。

private LinkedList<Event> events = new LinkedList<Event>();
private LinkedList<Event> tempEvents = new LinkedList<Event>();

public Events()
{
    setup();
}

private void setup()
{   
    events.add(new Event("Breakfast", 10));
    events.add(new Event("Lunch", 15));
    events.add(new Event("Nibbles", 20));
    events.add(new Event("Tea", 25));
    events.add(new Event("Dinner", 30)); 
    events.add(new Event("Snack", 35));
    events.add(new Event("Afters", 40));
}

public Event fromAlpha()
{   
    tempEvents.clear();
    tempEvents = Collections.sort(events, new Comparator<String>());
    return null; 
}
尼古拉·K

我假设您使用Java。

我还假设这Event是您自己的具有getNamegetNum方法的类,例如这一类

class Event {

    private final String name;
    private final int num;

    public Event(String name, int num) {
        this.name = name;
        this.num = num;
    }

    public String getName() {
        return name;
    }

    public int getNum() {
        return num;
    }

}

这样您就可以对您List的匿名Comparator<Event>进行排序您无法对它进行排序,new Comparator<String>因为您对Events而不是Stringss进行了排序此外Collections.sort方法不返回任何东西,所以我必须有序events集合。所以这是工作示例:

class Events {

    private LinkedList<Event> events = new LinkedList<Event>();
    private LinkedList<Event> tempEvents = new LinkedList<Event>();

    public Events() {
        setup();
    }

    private void setup() {   
        events.add(new Event("Breakfast", 10));
        events.add(new Event("Lunch", 15));
        events.add(new Event("Nibbles", 20));
        events.add(new Event("Tea", 25));
        events.add(new Event("Dinner", 30)); 
        events.add(new Event("Snack", 35));
        events.add(new Event("Afters", 40));
    }

    public void fromAlpha() {   
        for(Event e : events) {
            System.out.print("{ " + e.getName() + ", " + e.getNum() + " }");
        }
        System.out.println();
        Collections.sort(events, new Comparator<Event>() {
            public int  compare(Event e1, Event e2) {
                return e1.getName().compareTo(e2.getName());
            }
        });
        for(Event e : events) {
            System.out.print("{ " + e.getName() + ", " + e.getNum() + " }");
        }
        System.out.println();
    }
}

结果如下:

{ Breakfast, 10 }{ Lunch, 15 }{ Nibbles, 20 }{ Tea, 25 }{ Dinner, 30 }{ Snack, 35 }{ Afters, 40 }
{ Afters, 40 }{ Breakfast, 10 }{ Dinner, 30 }{ Lunch, 15 }{ Nibbles, 20 }{ Snack, 35 }{ Tea, 25 }

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何按字母顺序对字符串的ArrayList进行排序?

如何用液体按字母顺序对类别进行排序?

如何按字母顺序对 Github 用户 API 进行排序

如何按字母顺序对包含 optgroup 的选择进行排序?

如何按字母顺序对字符串列表进行排序?

Play框架:如何按字母顺序对JSON进行排序

如何按字母顺序对Ruby Hash进行排序

如何使用jQuery按字母顺序对列表进行排序?

如何使用antd按字母顺序对表进行排序

如何强制tmux按字母顺序对会话进行排序?

如何按字母顺序对字符串进行排序

如何按字母顺序对列表视图进行排序

如何在Laravel中按字母顺序对记录进行排序

如何使用 QSortFilterProxyModel 按字母顺序对列表项进行排序?

如何按字母顺序对索引进行排序

如何按字母顺序对列表视图进行排序?

Angular 5:如何按字母顺序对 Observable 进行排序?

如何使用Meteor按字母顺序对用户进行排序?

按字母顺序对 WordPress 类别进行排序时如何忽略“the”

如何按字母顺序对HashMap条目进行排序?

如何按字母顺序对CSV文件进行排序?

如何对Laravel表格进行排序::按字母顺序选择

如何按字母顺序对文件进行排序?

如何按字母顺序对这个对象数组进行排序

如何按字母顺序对由逗号分隔的字符串进行排序,并按成员的姓氏按字母顺序进行排序?

如何按字母顺序对 csv 数据进行排序,然后按列按数字排序?

按字母顺序对JComboBox元素进行排序

PHP:按字母顺序对 ZIP 进行排序

按字母顺序对XML进行排序