Java 使用两个字符串将项添加到向量
我已经创建了多个字符串Java 使用两个字符串将项添加到向量,java,vector,Java,Vector,我已经创建了多个字符串 public class Program { private String code; private String name; public Program(String theCode, String theName) { code = theCode; name = theName; } } 现在,我想在Program类型的向量中添加一些项 public class ProgramList
public class Program
{
private String code;
private String name;
public Program(String theCode, String theName)
{
code = theCode;
name = theName;
}
}
现在,我想在Program类型的向量中添加一些项
public class ProgramList
{
private Vector<Program> list;
public ProgramList()
{
list = new Vector<Program>();
}
如何将字符串c和n添加到向量列表中?如何使用list.add() 如果您的问题只是添加语句,您可以写以下内容:
list.add(new Program(c, n));
这样,您可以创建一个包含字符串的
程序
对象。该对象被添加到列表中。通过创建程序的新对象来添加它们。用以下代码替换上一个代码部分
代码:
BufferedReader infile = new BufferedReader
(new FileReader("programs.txt"));
String line;
int i = 0;
while ((line = infile.readLine()) != null)
{
String c, n;
StringTokenizer linesplit = new StringTokenizer(line, " ");
c = linesplit.nextElement().toString();
n = linesplit.nextElement().toString();
list.add(new Program(c,n));
i++;
}
}
建议:使用ArrayList
而不是Vector。它比Vector
更容易处理,并由许多其他功能提供。阅读本文了解更多关于2014年为什么使用Vector
阵列列表的信息?坦率地说,我很惊讶JDK仍然没有将其标记为不推荐的。。。在多线程应用程序中使用列表
insteadVector可能很有用,不是吗?列表未同步。@Joffrey您忘记了CopyOnWriteArrayList
;同步是一回事,而并发友好则是另一回事;)向量在默认情况下是同步的,然后速度会慢很多。如果您需要线程安全列表,还有一种方法可以获得它。@Joffrey如果您确实需要一个同步的集合类,那么使用Collections.synchronizedList(…)
将列表
包装为同步。不要使用遗留的Vector
集合类。它是在构造函数中声明的吗?这很有效,谢谢。对,我错了,我没看到是同一个班级:)
BufferedReader infile = new BufferedReader
(new FileReader("programs.txt"));
String line;
int i = 0;
while ((line = infile.readLine()) != null)
{
String c, n;
StringTokenizer linesplit = new StringTokenizer(line, " ");
c = linesplit.nextElement().toString();
n = linesplit.nextElement().toString();
list.add(new Program(c,n));
i++;
}
}