我知道在内存中操作数据总是比在文件中操作数据更好。目前,我将所有传入的数据放入一个静态 ArrayList 中,当该 ArrayList 超过 80 个条目时,我的程序会将这个 ArrayList 的内容保存到一个文件中,并清除该数组以用于下一波即将到来的数据。
我想知道使用 Vector 是否比 ArrayList 更好(或更差)。如果有差异,哪个更好/更差?在什么情况下?
这是我的相关代码:
public class Exchange () {
private static ArrayList<String> datain = new ArrayList<String> ();
public static void addData(String s) {
datain.add(s);
}
public static boolean checkSize() {
if (datain.size() >= 80)
return true;
else
return false;
}
public static void writeData() throws FileNotFoundException {
PrintWriter pw = new PrintWriter(new File ("myfile.txt"));
for (int i = 0; i < datain.size(); i++) {
pw.println(datain.get(i);
}
pw.close();
}
public static void clear() {
datain = new ArrayList<String>();
}
}
附注这种方法目前效果很好,我只是想知道对于这种情况使用 vector 是否会更好。另外,如果您发现任何不好的设计,请随时指出。谢谢!
最佳答案
在绝大多数情况下,使用ArrayList
就足够了。主要区别在于 Vector
是线程安全的,而 ArrayList
不是,但由于您不使用多个线程,因此没有理由更喜欢 代码中
ArrayList
上的 >Vector
关于java - 内存中的数据操作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23434726/