这是一个很好的java实践(就时间而言在内存和计算效率方面)来关联类本身中的静态对象列表.
package collection;
/**
* Created by ANJANEY on 5/28/2014.
*/
import java.util.*;
class Student1
{
int rollId;
String name;
static List<Student1> studentList=new ArrayList<Student1>();
Student1(int rollId,String name)
{
this.rollId=rollId;
this.name=name;
studentList.add(this);
}
}
public class A {
public static void main(String aaaa[])
{
new Student1(1,"Anjaney");
new Student1(2,"Prerak");
Iterator<Student1> itr=Student1.studentList.iterator();
while(itr.hasNext())
{
Student1 st=itr.next();
System.out.println("Roll = "+st.rollId+" Name = "+st.name);
}
}
}
Run Code Online (Sandbox Code Playgroud)
您在这里实现的称为“实例控制”类(请参阅Effective Java - Joshua Bloch Chapter 2 - Item I)。
通常开发人员使用静态工厂实现实例控制的类,您可以保留对创建的对象的引用(就像您使用该列表所做的那样)以及执行其他操作,例如限制实例的数量。“实例控制”类的一个著名的私有案例称为 Singleton(尽管在这种情况下,保留列表是没有意义的......)。
从性能的角度来看,我认为将列表保留在类内或类外之间没有任何有意义的增益/损失。
归档时间: |
|
查看次数: |
881 次 |
最近记录: |