import java.util.ArrayList;
public class Test{
public static void main(String[] args) {
ArrayList array = new ArrayList();
array.add("A");
ArrayList result = new ArrayList();
result.add(array);
for(int i=0; i<3; i++){
ArrayList newArrayList = new ArrayList();
array.add("a");
newArrayList = array;
result.add(newArrayList);
}
for(int i=0; i<result.size(); i++){
System.out.println();
for(int j=0; j<((ArrayList)result.get(i)).size(); j++){
System.out.print(((ArrayList)result.get(i)).get(j)+" ");
}
}
}
}
其结果为:
A a a a
A a a a
A a a a
A a a a
如何实现如下结果呢?
A
A a
A a a
A a a a
public class Test{
public static void main(String[] args) {
ArrayList array = new ArrayList();
array.add("A");
ArrayList result = new ArrayList();
result.add(array);
for(int i=0; i<3; i++){
ArrayList newArrayList = new ArrayList();
array.add("a");
newArrayList = array;
result.add(newArrayList);
}
for(int i=0; i<result.size(); i++){
System.out.println();
for(int j=0; j<((ArrayList)result.get(i)).size(); j++){
System.out.print(((ArrayList)result.get(i)).get(j)+" ");
}
}
}
}
其结果为:
A a a a
A a a a
A a a a
A a a a
如何实现如下结果呢?
A
A a
A a a
A a a a
解决方案 »
- XML解析出现中文乱码
- 贪吃蛇问题
- 关于netbeans的winform程序的初级问题
- private List<DownloaderTask> dwnTasks = new List<DownloaderTask>()这句话干什么用的?
- 帮助文档中关于Class BufferedReader的一段英文,请高手帮忙给解释一下,谢谢!
- Java 多线程bug征集(长期有效, 版主能置顶么?)
- 请教两道算法问题
- ★java中GUI事件处理的问题,了解事件技术内幕的老兄请看看★
- 如何在Http连接中设置超时?
- java 和 c# 哪一个更有发展?
- 可以给JPanel增加事件吗,我已子类化
- 怎么判断InputStream这个流中无数据 ?
A a a a
A a a a
A a a a
A a a a
很正确也很容易理解啊?有什么问题?
每一个实类都另外开辟一个存储空间 要如何实现???
public static void main(String[] args) {
ArrayList array = new ArrayList();
array.add("A");
ArrayList result = new ArrayList();
result.add(new ArrayList(array));
for (int i = 0; i < 3; i++) {
array.add("a");
ArrayList newArrayList = new ArrayList(array);
result.add(newArrayList);
}
for (int i = 0; i < result.size(); i++) {
System.out.println();
for (int j = 0; j < ((ArrayList) result.get(i)).size(); j++) {
System.out.print(((ArrayList) result.get(i)).get(j) + " ");
}
}
}
}
这样就可以实现
newArrayList = array;//newArrayList和array指向同一个内存地址
newArrayList = new ArrayList(array);//newArrayList和array指向不同的内存地址
import java.util.ArrayList;
import java.util.Collection;/*
* Created on 2006-4-19
*
* TODO To change the template for this generated file go to
* Window - Preferences - Java - Code Style - Code Templates
*//**
* @author Administrator
*
* TODO To change the template for this generated type comment go to
* Window - Preferences - Java - Code Style - Code Templates
*/
public class MyList extends ArrayList {
public MyList(){
super();
}
public MyList(Collection c){
super();
}
public void removeBound(int fromIndex, int toIndex){
removeRange(fromIndex, toIndex);
}}
主函数如下:
public class TestMyList { /**
* @param args
*/
public static void main(String[] args) {
MyList array = new MyList();
array.add("A");
MyList result = new MyList();
result.add(new MyList(array));
for (int i = 0; i < 3; i++) {
array.add("a");
MyList newArrayList = new MyList(array);
result.add(newArrayList);
}
for (int i = 0; i < result.size(); i++) {
System.out.println();
for (int j = 0; j < ((MyList) result.get(i)).size(); j++) {
System.out.print(((MyList) result.get(i)).get(j) + " ");
}
}
}}
为什么没有结果呢?
如何实现如下结果呢?
A
A a
A a a
A a a a
super();
}
构造函数错了
应该是
public MyList(Collection c){
super(c);
}