1

Stack 有方法peek()pop(),这会影响堆栈顶部的对象,但是由于它继承自其他类,因此是否有可以查看的方法,例如。堆栈的第 4 个元素并弹出第 3 个元素?

我为什么要问?我需要在五张抽牌游戏中存储 5 张牌作为手牌。我想把它从最低到最高排序,然后去掉几张卡片。附加问题:使用堆栈是个好主意吗?

4

1 回答 1

1

您可以使用 anArrayList然后使用get(index)forpeekAt()remove(index)forpopAt()功能。此外,您可以ArrayList使用排序Collections.sort(),如果元素ArrayList将成为您的自定义类对象,您可以通过提供自己的客户比较器对它们进行排序。

正常排序:

Collections.sort(list);

自定义排序:

public class MyComparator implements Comparator<MyClass>{
    @Override
    public int compare(MyClass o1, MyClass o2) {
        // Your comparison logic
    }
} 
...
Collections.sort(list, new MyComparator());
于 2013-11-02T11:36:34.450 回答