用Vector吧 Vector v = new Vector(); v.add(yourObject); v.get(); 这个能满足楼主所说的要求~~~
你可以这样List list = new ArrayList(aCol); 然后把list中的某个对象的属性赋值过去就ok了
B b =new B(); String strtest = ""; ((A)b.aCol.get(i)).setStr(strtest);
list.set( int index , ai ) //ai为A的一改变属性的对象;index为list中的索引位置
没太理解楼主的意思,因为在Collection楼主存的是非基本类型,是自己定义的类型A。所以改变一个A的对象,同时在Collection里的也指向那个改变的。所以不用传递的。看下面的。public class A {
String str = "a";
public void setStr(String string){ str = string; }
public String getStr(){ return str; }}class B {
List aCol = new ArrayList();} public class TestA {
void test(){ A a1 = new A(); A a2 = new A(); B b = new B(); b.aCol.add(a1); b.aCol.add(a2); System.out.println(((A)b.aCol.get(0)).getStr()); System.out.println(((A)b.aCol.get(1)).getStr()); //改变a1 a1.setStr("change"); System.out.println(((A)b.aCol.get(0)).getStr()); System.out.println(((A)b.aCol.get(1)).getStr()); }
public static void main(String[] args){ TestA t = new TestA(); t.test(); }
}结果: a a change a另外,用LIST或者ARRAYLIST比较常见,如果有多线程,用VECTOR。
Vector,ArrayList都是Collection的具体实现,Collection是这个框架下所有类必须实现的接口,使用的时候必须使用它的具体实现类,因为Collection只是个接口而已。Collection col = new ArrayList(); A a = new A(); col.add(a); 直接修改a,col中的a也会随之改变,col中存取的仅仅是a的引用而已,指向的还是a对象。
就是啊
Vector v = new Vector();
v.add(yourObject);
v.get();
这个能满足楼主所说的要求~~~
然后把list中的某个对象的属性赋值过去就ok了
String strtest = "";
((A)b.aCol.get(i)).setStr(strtest);
list.set( int index , ai ) //ai为A的一改变属性的对象;index为list中的索引位置
String str = "a";
public void setStr(String string){
str = string;
}
public String getStr(){
return str;
}}class B {
List aCol = new ArrayList();}
public class TestA {
void test(){
A a1 = new A();
A a2 = new A();
B b = new B();
b.aCol.add(a1);
b.aCol.add(a2);
System.out.println(((A)b.aCol.get(0)).getStr());
System.out.println(((A)b.aCol.get(1)).getStr()); //改变a1
a1.setStr("change");
System.out.println(((A)b.aCol.get(0)).getStr());
System.out.println(((A)b.aCol.get(1)).getStr());
}
public static void main(String[] args){
TestA t = new TestA();
t.test();
}
}结果:
a
a
change
a另外,用LIST或者ARRAYLIST比较常见,如果有多线程,用VECTOR。
Vector,ArrayList,HashMap,我都会可以做。
A a = new A();
col.add(a);
直接修改a,col中的a也会随之改变,col中存取的仅仅是a的引用而已,指向的还是a对象。