Stack 有方法peek()
和pop()
,这会影响堆栈顶部的对象,但是由于它继承自其他类,因此是否有可以查看的方法,例如。堆栈的第 4 个元素并弹出第 3 个元素?
我为什么要问?我需要在五张抽牌游戏中存储 5 张牌作为手牌。我想把它从最低到最高排序,然后去掉几张卡片。附加问题:使用堆栈是个好主意吗?
Stack 有方法peek()
和pop()
,这会影响堆栈顶部的对象,但是由于它继承自其他类,因此是否有可以查看的方法,例如。堆栈的第 4 个元素并弹出第 3 个元素?
我为什么要问?我需要在五张抽牌游戏中存储 5 张牌作为手牌。我想把它从最低到最高排序,然后去掉几张卡片。附加问题:使用堆栈是个好主意吗?
您可以使用 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());