我想使用以下方法从arraylist中删除元素:
public static String removeOldestItem(ArrayList<String> theList)
并使用此方法将删除的元素写入文本文件:
public static void addItem(ArrayList<String> theList, String s)
到目前为止,我有:
import java.io.FileWriter;
import java.io.PrintWriter;
import java.util.ArrayList;
public class test {
public static void main(String[] args) {
// TODO Auto-generated method stub
ArrayList <String> s = new ArrayList<> (4);
s.add("Knock knock.");
s.add("Who's there?");
s.add("*very long pause....*");
s.add("Java");
try {
FileWriter fos = new FileWriter("list_contents.txt");
PrintWriter out = new PrintWriter(fos);
for (int i = 0; i < s.size(); i++) {
out.write(String.valueOf(s.get(i) ) );
out.write("\r\n");
}
out.close();
} catch (Exception e) {
}
}
}
第二种方法应该将String“s”放入传递的列表“theList”中。第一种方法应该删除列表中最长的项目并将该项目返回给调用者。
我无法理解如何实施这些方法。 有什么想法吗?
答案 0 :(得分:1)
我不知道ArrayList上的removeOldestItem方法,但链接列表和链接的哈希映射有removeEldestEntry
。通常会覆盖它以生成具有某种智能修剪的缓存。
您的目标是通过添加几个便捷方法来扩展ArrayList和OutputStream吗?