循环时为链表创建名称(Java)

时间:2012-02-10 00:03:09

标签: java list

我已经实现了一个简单的链表类,我现在想在循环中使用它。我想知道如何在循环的每次迭代中最好地为列表指定名称。

基本上我循环遍历一些整数,我想给每个列表指定整数的名称,但我不能说

列出i =新列表();

对吗?

可能有一种简单的方法可以做到这一点,但我不确定如何,并且会感激

2 个答案:

答案 0 :(得分:3)

我认为你将变量的角色与集合的角色混为一谈。从您的问题我收集到您想要为循环中的每个索引创建一个列表,并且您希望以后能够通过其索引访问该列表:

ArrayList<LinkedList<String>> listOfLists = new ArrayList<LinkedList<String>>();
for(int i = 0; i < 10; i++)
{
    LinkedList<String> list = new LinkedList();
    listOfLists.add(list);
    // do stuff to the list...
}
// access
LinkedList<String> thirdList = listOfLists.get(2); // index 2 = third entry

因此,根据i的值,LinkedLists不是命名,但您仍然可以通过给定的i值访问它们。

答案 1 :(得分:1)

首先,如果不是出于学习目的,强烈建议不要为已经在库中实现的内容实现自己的类。

对于列表,您应该查看集合框架:http://docs.oracle.com/javase/tutorial/collections/

我不确定你的意思是“整数的名称”。

我假设您要创建一个包含整数的元素列表,以及一个表示整数中保存的值名称的String。

如果是这种情况,最好的办法就是创建自己的对象:

class NamedInteger {
    private int value;
    private String name;

    public NamedInteger(int value, String name) {
        this.value = value;
        this.name = name;
    }

    public int getValue() {
        return value;
    }

    public String getName() {
        return name;
    }

    public void setValue(int value) {
        this.value = value;
    }

    public void setName(String name) {
        this.name = name;
    }
}

此方法的优点是,如果您想要向对象添加其他信息,则很容易这样做。

然后,只有一个这些对象的列表......

public static void main(String[] args) {
    List<NamedInteger> list = new LinkedList<NamedInteger>();
    list.add(new NamedInteger(1, "Hello");
    ...
}