我有一个链表,它存储一个类的对象,该类有4个数据成员,2个字符串,一个整数和另一个类的对象列表。
如何访问链表中列表的值?
好的,这就是我的
LogProcess lp = new LogProcess(revision,author,date,pathinfo,msg);
pathinfo是List.revision,author,date,msg是字符串格式的列表。
现在,PathInfo是一个有三个数据成员action,kind,pathinfo的类。所有3个都是字符串。
现在让我们说如果我将链接List传递给构造函数并想要访问action,kind和pathinfo的值,我该怎么办?
答案 0 :(得分:1)
假设您使用LinkedList
,则会拨打get
。如果你没有使用泛型(LinkedList<YourFooObject> YourLinkedList;
将使用它们,LinkedList YourLinkedList
不会),那么你需要一个强制转换,就像这样
YourFooObject foo = (YourFooObject)YourLinkedList.get(0)
答案 1 :(得分:0)
//Retriver one of the nodes of the linked list
YourObjectType node = yourLinkedList.get(int index)
//access the list instance variable of your object (depending on it visibility)
node.myList; //if accessible from here
MyList myList = node.getMyList();
答案 2 :(得分:0)
LinkedList的get(index)
函数将返回所需索引处的元素。
YourStructure data = list.get(someindex);
现在您可以从单个对象中获取列表:
LinkedList<Something> sublist = data.getList();
然后您可以像平常一样遍历该子列表:使用for
循环,foreach
或iterator
。
答案 3 :(得分:0)
在我看来,最好的解决方法就是使用Object数组/列表/集合的foreach循环:
for(Object o : list) {
if(o instanceof String) {
//Object in list is a string
String s = (String)o; //make sure to properly cast the object now that you know it is of proper type
}
else if(o instanceof int) {
//object in list is an int
}
else if(o instanceof classA) {
//object in list is from classA and you get the idea
}
else if(o instanceof classB) {
}
//etc..
}
答案 4 :(得分:0)
您可以为LinkedList
制作一个迭代器,以便访问您LinkedList
的{{1}}对象,这样就可以了:
class object