首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > J2SE开发 >

,一个关于List的有关问题!

2012-08-30 
求助,一个关于List的问题!!!Java codeimport java.util.ArrayListimport java.util.Listpublic class Li

求助,一个关于List的问题!!!

Java code
import java.util.ArrayList;import java.util.List;public class ListTest {    public static void main(String[] args) {        List<Integer> intlist=new ArrayList<>();        List<List<Integer>> result=new ArrayList<List<Integer>>();        for(int i=0;i<10;i++){            intlist.clear();            for(int j=0;j<=i;j++)                intlist.add(j);            result.add(intlist);        }                for(List<Integer> list:result){            for(Integer i:list)                System.out.print(i+" ");            System.out.println();        }    }}


为什么运行结果是:

0 1 2 3 4 5 6 7 8 9 
0 1 2 3 4 5 6 7 8 9 
0 1 2 3 4 5 6 7 8 9 
0 1 2 3 4 5 6 7 8 9 
0 1 2 3 4 5 6 7 8 9 
0 1 2 3 4 5 6 7 8 9 
0 1 2 3 4 5 6 7 8 9 
0 1 2 3 4 5 6 7 8 9 
0 1 2 3 4 5 6 7 8 9 
0 1 2 3 4 5 6 7 8 9

[解决办法]
Java code
import java.util.ArrayList;import java.util.List;public class ListTest {    public static void main(String[] args) {               List<List<Integer>> result=new ArrayList<List<Integer>>();        for(int i=0;i<10;i++){             List<Integer> intlist=new ArrayList<>();            for(int j=0;j<=i;j++)                intlist.add(j);            result.add(intlist);        }                for(List<Integer> list:result){            for(Integer i:list)                System.out.print(i+" ");            System.out.println();        }    }}
[解决办法]
楼主象是要这样的结果:

0 1 
0 1 2 
0 1 2 3 
0 1 2 3 4 
0 1 2 3 4 5 
0 1 2 3 4 5 6 
0 1 2 3 4 5 6 7 
0 1 2 3 4 5 6 7 8 
0 1 2 3 4 5 6 7 8 9 

但result保存的是同一个对象,楼上应该是对的,每次存入一个新的对象。

热点排行
Bad Request.