使用两个字符串将项添加到向量

时间:2014-02-25 09:49:42

标签: 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
{
    private Vector<Program> list;

    public ProgramList()
    {
    list = new Vector<Program>();
    }

然后,在同一个类中,我从.txt文件中的每行文本中读取两个字符串。字符串由两个空格分隔。

    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(???);
        i++;
    }  
}

如何将字符串c和n添加到矢量列表?我怎么能用list.add();?

2 个答案:

答案 0 :(得分:0)

如果您的问题仅在添加声明中,您可以写下:

list.add(new Program(c, n));

这样,您可以创建包含字符串的Program对象。此对象已添加到列表中。

答案 1 :(得分:0)

通过创建Program的新对象来添加它们。用以下

替换上一个代码部分

代码:

    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并由许多其他功能提供。有关ArrayList

的详细信息,请阅读此link