我已经实现了一个简单的链表类,我现在想在循环中使用它。我想知道如何在循环的每次迭代中最好地为列表指定名称。
基本上我循环遍历一些整数,我想给每个列表指定整数的名称,但我不能说
列出i =新列表();
对吗?可能有一种简单的方法可以做到这一点,但我不确定如何,并且会感激
答案 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");
...
}