LinkedList添加方法在Java中的使用

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

我在打印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 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());
    }