LinkedList添加方法在Java中的使用
我在打印casos时的期望:LinkedList添加方法在Java中的使用,java,list,Java,List,我在打印casos时的期望: objeto.setId=1; casos.add(objeto); objeto.setId=2; casos.add(objeto); 我的代码是什么: 1, 2 您有一个对象,objecto,可以多次将其添加到列表中。如果希望列表包含不同的实例,则必须创建新实例: 2, 2 对于(int i=0;i如果要在每个casos中添加相同的对象,请尝试以下操作: for (int i=0; i<10; i) { // Use a new insta
objeto.setId=1;
casos.add(objeto);
objeto.setId=2;
casos.add(objeto);
我的代码是什么:
1, 2
您有一个对象,
objecto
,可以多次将其添加到列表中。如果希望列表包含不同的实例,则必须创建新实例:
2, 2
对于(int i=0;i如果要在每个casos
中添加相同的对象,请尝试以下操作:
for (int i=0; i<10; i) {
// Use a new instance in every iteration
CasosPossiveis objeto = new CasosPossiveis();
//modifying objeto values here
casos.add(objeto);
}
LinkedList casos=newlinkedlist();
for(int i=0;i小错误。您只创建了一次casosposiveis的对象。当java运行此代码时,它会在for循环之前创建对象
现在,当处理for循环时,它将使用同一个对象10次。因此,值是相同的。
所以,对于每次获取新对象,您需要在每次循环运行时创建对象
如果发生这种情况——
写
CasosPossiveis objeto=新的CasosPossiveis();
内部for循环。在列表中添加相同的cassopositives
类实例,在列表中的每个位置都有指向相同对象的多个链接,而每次将类放入列表时都需要创建新的类实例:
类casospositive应类似于:
LinkedList<CasosPossiveis> casos = new LinkedList<>();
for (int i=0; i<10; i) {
CasosPossiveis objeto = new CasosPossiveis();
//modifying objeto values here
casos.add(objeto);
}
范例
(java 8路)
//创建cassopositives列表
List casos=IntStream.iterate(0,i->i+1)
.限额(10)
.map(i->new cassopositives(i))
.collect(Collectors.toList());
//cassopositives打印列表
casos.forEach(caso->System.out.println(caso.getId());
范例
(java 7路)
//创建cassopositives列表
List casos=new ArrayList();
对于(int i=0;i<10;i++){
添加(新cassopositives(i));
}
//cassopositives打印列表
for(cassopositives caso:casos){
System.out.println(caso.getId());
}
在循环内创建对象。
LinkedList<CasosPossiveis> casos = new LinkedList<>();
for (int i=0; i<10; i) {
CasosPossiveis objeto = new CasosPossiveis();
//modifying objeto values here
casos.add(objeto);
}
public class CassosPositives {
private int id;
CassosPositives(int id) {
this.id = id;
}
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
}
// create list of CassosPositives
List<CassosPositives> casos = IntStream.iterate(0, i -> i + 1)
.limit(10)
.map(i -> new CassosPositives(i))
.collect(Collectors.toList());
//print list of CassosPositives
casos.forEach(caso -> System.out.println(caso.getId()));
// create list of CassosPositives
List<CassosPositives> casos = new ArrayList<>();
for (int i = 0; i < 10; i++) {
casos.add(new CassosPositives(i));
}
//print list of CassosPositives
for(CassosPositives caso : casos) {
System.out.println(caso.getId());
}