使用用于向linkedList java添加内容的cicle

使用用于向linkedList java添加内容的cicle,java,arrays,list,Java,Arrays,List,我有这个脚本,但我不能增加 LinkedList<Card> deckOfCards = new LinkedList<Card>(); for (int count = 0; count < deckOfCards.size(); count++) { deckOfCards[count].add(new Card(Rank.values()[count % 13].toString(),Suit.values()[count

我有这个脚本,但我不能增加

    LinkedList<Card> deckOfCards = new LinkedList<Card>();

    for (int count = 0; count < deckOfCards.size(); count++) { 
        deckOfCards[count].add(new Card(Rank.values()[count % 13].toString(),Suit.values()[count / 13].toString(), number[count % 13],Image[count % 52]));

    }
LinkedList deckOfCards=newlinkedlist();
对于(int count=0;count
我在deckOfCards[计数]上出错,所以我的疑问是我怎么能做到这一点 (表达式的类型必须是数组类型,但已解析为LinkedList)

我以前的代码是一个数组,可以工作

deckOfCards = new Card[number_cards];

    for (int count = 0; count < deckOfCards.length; count++) { 
        deckOfCards[count] = new Card(Rank.values()[count % 13].toString(),Suit.values()[count / 13].toString(), number[count % 13],Image[count % 52]);
    }
}


//suppose to get na name, value of card, but the result is [null, null, null, etc]
public Card[] giveCardPlayer1() {

    String name1 = Arrays.toString(deckOfCards);
    nameF = name1;
    String suit_1 = deckOfCards.toString();
    suit1 = suit_1;
    return deckOfCards;

}


public int totalValuePlayer1() {
    return currentTotal1;
}

public String name1() {
    return nameF;
}

public String suit_1() {
    return suit1;
}
deckOfCards=新卡[卡数];
对于(int count=0;count

谢谢

只需调用
deckOfCards.add(…)

不能像对数组那样对Java
列表编制索引。你必须使用它的方法。这会将指定的元素追加到列表的末尾

还有一个函数,它采用
int index
参数。但是,由于列表的大小不是固定的,您不能通过调用
deckOfCards.add(count,new Card(…)
直接设置列表的第n个元素-您需要首先确保列表中存在指定的元素,否则您将获得
IndexOutOfBoundsException
。还值得一提的是,对于任何非平凡大小的列表,通过索引访问链接列表是一个缓慢的操作(例如,与
ArrayList
s相比)

更新 啊,你也需要修正你的循环不变量。当前版本

for (int count = 0; count < deckOfCards.size(); count++) { ...
for(int count=0;count
将永远不会执行循环体,因为列表的初始大小为0。请将其更改为

for (int count = 0; count < number_cards; count++) { ...
for(int count=0;count
只需调用
deckOfCards.add(…)

不能像对数组那样对Java
列表编制索引。必须使用它的方法。这会将指定的元素追加到列表的末尾

还有一个函数接受
int index
参数。但是,由于列表的大小不是固定的,因此不能通过调用
deckOfCards.add(count,new Card(…)直接设置列表的第n个元素
-首先需要确保列表中存在指定的元素,否则会出现
IndexOutOfBoundsException
。另外值得一提的是,对于任何非平凡大小的列表,通过索引访问链接列表是一个缓慢的操作(与
ArrayList
相比)

更新 啊,你也需要修复你的循环不变量。当前版本

for (int count = 0; count < deckOfCards.size(); count++) { ...
for(int count=0;count
将永远不会执行循环体,因为列表的初始大小为0。请将其更改为

for (int count = 0; count < number_cards; count++) { ...
for(int count=0;count
除了Peter的帖子;如果你需要像这里尝试做的那样索引列表,你可以使用。

除了Peter的帖子;如果你需要像这里尝试做的那样索引列表,你可以使用。

但是如果我做了deckOfCards.add(…)循环没有完成,不是递增,结果是[null,null,null,null,null,null,null,null,null,null,null,null,等等]@user455318,这是由于您不正确的循环不变量;请参阅我的更新。结果相同[null,null,null,null,null,null,null,null,null,null,null,null,等等],我更新我的post@user455318,number\u cards的值是多少?
?你能在循环中放入一个print语句来检查它实际执行了多少次吗?number\u cards=52;我进行了一次打印,并显示了52行特定的Sysout。那么,问题是另一个,结果为空的原因是什么,52次?但是如果我执行deckOfCards.add(…)循环未完成,不是增量,结果是[null,null,null,null,null,null,null,null,null,null,null,null,null等]@user455318,这是由于您的循环不变量不正确;请参阅我的更新。结果是相同的[null,null,null,null,null,null,null,null,null,null,null,等等],我更新我的post@user455318,number\u cards的值是多少?你能在循环中放入一个print语句来检查它实际执行了多少次吗?number\u cards=52;我放入一个print语句,显示了52行特定的Sysout。那么,问题是另一个,结果为null的原因是什么,52次?