使用 ListIterator,在 arraylist 中的 2 个偶数之间添加一个“-1”
Using a ListIterator, add a "-1" in between 2 even integers in an arraylist
所以这是我的第一个 post 如果不完美,我深表歉意。我正在做一个项目,我需要使用 ListIterator 遍历整数数组列表。在此遍历中,我将需要找到所有偶数对并在其间添加“-1”以分隔偶数。这是我目前的代码:
No two evens. Print the original list. If you find two even numbers then add a -1 between them. Print the new list.
*/
ListIterator<Integer> lt5 = x.listIterator();
System.out.println();
System.out.println("N O E V E N S ");
printArrays(x);
while(lt5.hasNext()) {
if(lt5.next() %2 ==0 && lt5.next()%2==0) {
lt5.previous();
lt5.add(-1);
}
}
System.out.println();
ListIterator<Integer> lt6 = x.listIterator();
while(lt6.hasNext()) {
System.out.print(lt6.next()+" ");
}
我确信这很简单,但我想不通。对此有什么想法吗?
我需要使用迭代器
如果你想在连续两个事件后-1
,你可以使用下面的代码:
public void modifyList(List<Integer> list){
System.out.println(list);
ListIterator<Integer> it = list.listIterator();
while(it.hasNext()){
if(it.next()%2==0 && it.hasNext() && it.next()%2==0){
it.add(-1);
}
}
System.out.println(list);
}
//Input: [1,2,3,4]
//Output:[1,2,3,4]
//Input: [1,2,4,5,6,8]
//Output:[1,2,4,-1,5,6,8,-1]
如果你想在两个连续的事件之间-1
,你可以使用下面的代码:
public void modifyList(List<Integer> list){
System.out.println(list);
ListIterator<Integer> it = list.listIterator();
while(it.hasNext()){
if(it.next()%2==0 && it.hasNext() && it.next()%2==0){
it.previous();
it.add(-1);
}
}
System.out.println(list);
}
//Input: [1,2,3,4]
//Output:[1,2,3,4]
//Input: [1,2,4,5,6,8]
//Output:[1,2,-1,4,5,6,-1,8]
所以这是我的第一个 post 如果不完美,我深表歉意。我正在做一个项目,我需要使用 ListIterator 遍历整数数组列表。在此遍历中,我将需要找到所有偶数对并在其间添加“-1”以分隔偶数。这是我目前的代码:
No two evens. Print the original list. If you find two even numbers then add a -1 between them. Print the new list.
*/
ListIterator<Integer> lt5 = x.listIterator();
System.out.println();
System.out.println("N O E V E N S ");
printArrays(x);
while(lt5.hasNext()) {
if(lt5.next() %2 ==0 && lt5.next()%2==0) {
lt5.previous();
lt5.add(-1);
}
}
System.out.println();
ListIterator<Integer> lt6 = x.listIterator();
while(lt6.hasNext()) {
System.out.print(lt6.next()+" ");
}
我确信这很简单,但我想不通。对此有什么想法吗?
我需要使用迭代器
如果你想在连续两个事件后-1
,你可以使用下面的代码:
public void modifyList(List<Integer> list){
System.out.println(list);
ListIterator<Integer> it = list.listIterator();
while(it.hasNext()){
if(it.next()%2==0 && it.hasNext() && it.next()%2==0){
it.add(-1);
}
}
System.out.println(list);
}
//Input: [1,2,3,4]
//Output:[1,2,3,4]
//Input: [1,2,4,5,6,8]
//Output:[1,2,4,-1,5,6,8,-1]
如果你想在两个连续的事件之间-1
,你可以使用下面的代码:
public void modifyList(List<Integer> list){
System.out.println(list);
ListIterator<Integer> it = list.listIterator();
while(it.hasNext()){
if(it.next()%2==0 && it.hasNext() && it.next()%2==0){
it.previous();
it.add(-1);
}
}
System.out.println(list);
}
//Input: [1,2,3,4]
//Output:[1,2,3,4]
//Input: [1,2,4,5,6,8]
//Output:[1,2,-1,4,5,6,-1,8]