如何删除和返回数组列表索引

时间:2018-04-14 10:36:08

标签: java arraylist

我试图删除并返回名为deck的数组列表的第一个索引处的对象。我的代码在调用remove()之后返回索引0处的对象,因此它总是返回原始deck数组列表的第二个索引。我不确定如何将索引返回0,然后将其删除。

public Card dealCard()
{
    int i = 0;                
    Card topCard = null;
    if(deck.size() > 0)
    {
        topCard = deck.get(i);
        deck.remove(topCard);        
    }           
    else
    {
        System.out.println("Fatal Error. Program now exiting.");
        System.exit(0);
    }
    return topCard;
}     

4 个答案:

答案 0 :(得分:1)

当您向其传递索引时,

remove(int index)会返回index处的元素。所以你要做的就是

if(deck.size() > 0)
{
    topCard = deck.remove(i);
}           

这会将topCard设置为索引为i的任何内容,并从列表中删除该元素

答案 1 :(得分:0)

试试这个:

public Card dealCard()
{
    int i = 0;                
    Card topCard = null;
    //topCard.equals(deck.get(i));
    //deck.remove(topCard);
    if(deck.size() > 0)
    {
        topCard = deck.get(i);
        deck.remove(i);
        //temp = deck.remove(topCard);
        //temp.equals(deck.remove(topCard));           
    }           
    else
    {
        System.out.println("Fatal Error. Program now exiting.");
        System.exit(0);
    }
    return topCard;
}   

答案 2 :(得分:0)

请勿删除存储在变量顶部卡片中的内容,而是删除其索引中的项目。

public Card dealCard() {
int i = 0;                
Card topCard = null;
if(deck.size() > 0)
{
    topCard = deck.get(i);
    deck.remove(i);        
}           
else
{
    System.out.println("Fatal Error. Program now exiting.");
    System.exit(0);
}
return topCard;

答案 3 :(得分:0)

使用索引

从列表中删除项目
deck.remove(i);