Java 双向链表的迭代器,怎么添加元素?
我有一个publicclassAdditiveList<T>implementsIterable<T>{publicclassAListIteratorimplement...
我有一个
public class AdditiveList<T> implements Iterable<T>{
public class AListIterator implements ListIterator<T>{
public void add(T x){}
}
}
在其中定义迭代器, 希望将x添加在next()命令的返回值的前面 比如 I.next()是 “a”, 那就把 x插入a前面的位置。 AdditiveList是双向链表。 另外请问怎么找开头,判断迭代器能不能执行previous()命令啊? 展开
public class AdditiveList<T> implements Iterable<T>{
public class AListIterator implements ListIterator<T>{
public void add(T x){}
}
}
在其中定义迭代器, 希望将x添加在next()命令的返回值的前面 比如 I.next()是 “a”, 那就把 x插入a前面的位置。 AdditiveList是双向链表。 另外请问怎么找开头,判断迭代器能不能执行previous()命令啊? 展开
2个回答
展开全部
可以用LinkedList代替你的AdditiveList
LinkedList<String> linklist=new LinkedList<String>();
String [] strs={"1","2","3","4"};
for (String string : strs) {
linklist.add(string);
}
System.out.println("链表的第一个元素是 : " + linklist.getFirst());
System.out.println("链表最后一个元素是 : " + linklist.getLast());
System.out.println("链表的长度 : " + linklist.size());
//然后你需要动态改变链表中的元素这时可以用ListIterator<E>迭代器来操作链表
ListIterator<String> itr=linklist.listIterator();
while (itr.hasNext()) {
itr.next();//先正序将游标调至结尾
}
while (itr.hasPrevious()) {
String string = (String) itr.previous();//逆序遍历链表
System.out.println(string);
if("2".equals(string)){//在指定位置前插入元素
itr.add("0");//这里就是你需要插入的元素
itr.add("1");
}
}
System.out.println(linklist.toString());
LinkedList<String> linklist=new LinkedList<String>();
String [] strs={"1","2","3","4"};
for (String string : strs) {
linklist.add(string);
}
System.out.println("链表的第一个元素是 : " + linklist.getFirst());
System.out.println("链表最后一个元素是 : " + linklist.getLast());
System.out.println("链表的长度 : " + linklist.size());
//然后你需要动态改变链表中的元素这时可以用ListIterator<E>迭代器来操作链表
ListIterator<String> itr=linklist.listIterator();
while (itr.hasNext()) {
itr.next();//先正序将游标调至结尾
}
while (itr.hasPrevious()) {
String string = (String) itr.previous();//逆序遍历链表
System.out.println(string);
if("2".equals(string)){//在指定位置前插入元素
itr.add("0");//这里就是你需要插入的元素
itr.add("1");
}
}
System.out.println(linklist.toString());
追问
我想知道的是 hasPrevious()的代码 感谢
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询