java.util.List.listIterator()方法的使用及代码示例

x33g5p2x  于2022-01-16 转载在 其他  
字(8.9k)|赞(0)|评价(0)|浏览(128)

本文整理了Java中java.util.List.listIterator()方法的一些代码示例,展示了List.listIterator()的具体用法。这些代码示例主要来源于Github/Stackoverflow/Maven等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。List.listIterator()方法的具体详情如下:
包路径:java.util.List
类名称:List
方法名:listIterator

List.listIterator介绍

[英]Returns a List iterator on the elements of this List. The elements are iterated in the same order that they occur in the List.
[中]返回此列表元素的列表迭代器。元素的迭代顺序与它们在列表中出现的顺序相同。

代码示例

代码示例来源:origin: google/guava

@Override
 public Iterator<T> iterator() {
  final ListIterator<T> listIter = list.listIterator(list.size());
  return new Iterator<T>() {
   @Override
   public boolean hasNext() {
    return listIter.hasPrevious();
   }
   @Override
   public T next() {
    return listIter.previous();
   }
   @Override
   public void remove() {
    listIter.remove();
   }
  };
 }
};

代码示例来源:origin: hankcs/HanLP

/**
 * Delete removed documents from the internal container.
 */
void refresh()
{
  ListIterator<Document<K>> listIterator = documents_.listIterator();
  while (listIterator.hasNext())
  {
    if (listIterator.next() == null)
      listIterator.remove();
  }
}

代码示例来源:origin: hankcs/HanLP

public static <E> void fill(List<E> list, E value)
{
  if (list == null) return;
  ListIterator<E> listIterator = list.listIterator();
  while (listIterator.hasNext()) listIterator.set(value);
}

代码示例来源:origin: spring-projects/spring-framework

private static DefaultWebFilterChain initChain(List<WebFilter> filters, WebHandler handler) {
  DefaultWebFilterChain chain = new DefaultWebFilterChain(filters, handler, null, null);
  ListIterator<? extends WebFilter> iterator = filters.listIterator(filters.size());
  while (iterator.hasPrevious()) {
    chain = new DefaultWebFilterChain(filters, handler, iterator.previous(), chain);
  }
  return chain;
}

代码示例来源:origin: redisson/redisson

List<RLock> acquiredLocks = new ArrayList<RLock>(locks.size());
for (ListIterator<RLock> iterator = locks.listIterator(); iterator.hasNext();) {
  RLock lock = iterator.next();
  boolean lockAcquired;
  try {
    acquiredLocks.add(lock);
  } else {
    if (locks.size() - acquiredLocks.size() == failedLocksLimit()) {
      break;
      acquiredLocks.clear();
      while (iterator.hasPrevious()) {
        iterator.previous();
  for (RLock rLock : acquiredLocks) {
    RFuture<Boolean> future = rLock.expireAsync(unit.toMillis(leaseTime), TimeUnit.MILLISECONDS);
    futures.add(future);

代码示例来源:origin: ReactiveX/RxJava

assertEquals(0, list.size());
assertFalse(list.contains(1));
assertFalse(list.remove((Integer)1));
assertTrue(list.add(1));
assertTrue(list.addAll(Arrays.asList(3, 4, 7)));
list.add(1, 2);
assertTrue(list.addAll(4, Arrays.asList(5, 6)));
assertEquals(7, list.size());
assertEquals(7, list.size());
ListIterator<Integer> lit = list.listIterator(7);
for (int i = 7; i > 0; i--) {
  assertEquals(i, lit.previous().intValue());
assertFalse(list.equals(list3));
list3.add(7);
assertTrue(list3.equals(list));
assertTrue(list.equals(list3));

代码示例来源:origin: commons-collections/commons-collections

public void add(Object o) {
  checkMod();
  int i = nextIndex();
  get().add(i, o);
  last++;
  expected = list;
  iter = get().listIterator(i + 1);
  lastReturnedIndex = -1;
}

代码示例来源:origin: airbnb/lottie-android

ContentGroup(final LottieDrawable lottieDrawable, BaseLayer layer,
       String name, boolean hidden, List<Content> contents, @Nullable AnimatableTransform transform) {
 this.name = name;
 this.lottieDrawable = lottieDrawable;
 this.hidden = hidden;
 this.contents = contents;
 if (transform != null) {
  transformAnimation = transform.createAnimation();
  transformAnimation.addAnimationsToLayer(layer);
  transformAnimation.addListener(this);
 }
 List<GreedyContent> greedyContents = new ArrayList<>();
 for (int i = contents.size() - 1; i >= 0; i--) {
  Content content = contents.get(i);
  if (content instanceof GreedyContent) {
   greedyContents.add((GreedyContent) content);
  }
 }
 for (int i = greedyContents.size() - 1; i >= 0; i--) {
  greedyContents.get(i).absorbContent(contents.listIterator(contents.size()));
 }
}

代码示例来源:origin: jphp-group/jphp

@Test
public void testNoArguments() throws IOException {
  Tokenizer tokenizer = new Tokenizer(new Context("function myFunc(){}"));
  SyntaxAnalyzer analyzer = new SyntaxAnalyzer(environment, tokenizer);
  Assert.assertTrue(analyzer.getTree().size() == 1);
  Assert.assertTrue(analyzer.getTree().get(0) instanceof FunctionStmtToken);
  FunctionStmtToken func = (FunctionStmtToken)analyzer.getTree().listIterator().next();
  Assert.assertTrue(func.getArguments().size() == 0);
}

代码示例来源:origin: commons-collections/commons-collections

public void testBugCollections447() {
    final List treeList = new TreeList();
    treeList.add("A");
    treeList.add("B");
    treeList.add("C");
    treeList.add("D");
    final ListIterator li = treeList.listIterator();
    assertEquals("A", li.next());
    assertEquals("B", li.next());
    assertEquals("B", li.previous());
    li.remove(); // Deletes "B"
    // previous() after remove() should move to
    // the element before the one just removed
    assertEquals("A", li.previous());
  }    
}

代码示例来源:origin: google/guava

private void replaceValue(List<Entry<K, V>> expected, Entry<K, V> newEntry) {
 for (ListIterator<Entry<K, V>> i = expected.listIterator(); i.hasNext(); ) {
  if (Helpers.equal(i.next().getKey(), newEntry.getKey())) {
   i.set(newEntry);
   return;
  }
 }
 throw new IllegalArgumentException(
   Platform.format("key %s not found in entries %s", newEntry.getKey(), expected));
}

代码示例来源:origin: greenrobot/greenDAO

void appendWhereClause(StringBuilder builder, String tablePrefixOrNull, List<Object> values) {
  ListIterator<WhereCondition> iter = whereConditions.listIterator();
  while (iter.hasNext()) {
    if (iter.hasPrevious()) {
      builder.append(" AND ");
    }
    WhereCondition condition = iter.next();
    condition.appendTo(builder, tablePrefixOrNull);
    condition.appendValuesTo(values);
  }
}

代码示例来源:origin: google/guava

/** An implementation of {@link List#indexOf(Object)}. */
static int indexOfImpl(List<?> list, @Nullable Object element) {
 if (list instanceof RandomAccess) {
  return indexOfRandomAccess(list, element);
 } else {
  ListIterator<?> listIterator = list.listIterator();
  while (listIterator.hasNext()) {
   if (Objects.equal(element, listIterator.next())) {
    return listIterator.previousIndex();
   }
  }
  return -1;
 }
}

代码示例来源:origin: google/guava

private static void assertTransformListIterator(List<String> list) {
 ListIterator<String> iterator = list.listIterator(1);
 assertEquals(1, iterator.nextIndex());
 assertEquals("2", iterator.next());
 assertEquals("3", iterator.next());
 assertEquals("4", iterator.next());
 assertEquals(4, iterator.nextIndex());
 try {
 assertEquals("4", iterator.previous());
 assertEquals("3", iterator.previous());
 assertEquals("2", iterator.previous());
 assertTrue(iterator.hasPrevious());
 assertEquals("1", iterator.previous());
 assertFalse(iterator.hasPrevious());
 assertEquals(-1, iterator.previousIndex());
 try {
 } catch (NoSuchElementException expected) {
 iterator.remove();
 assertEquals(asList("2", "3", "4"), list);
 assertFalse(list.isEmpty());

代码示例来源:origin: hankcs/HanLP

/**
 * Remove a document from this cluster.
 *
 * @param index the index of vector container of documents
 */
void remove_document(int index)
{
  ListIterator<Document<K>> listIterator = documents_.listIterator(index);
  Document<K> document = listIterator.next();
  listIterator.set(null);
  composite_.sub_vector(document.feature());
}

代码示例来源:origin: google/guava

@Override
public int indexOf(Object o) {
 if (!(o instanceof List)) {
  return -1;
 }
 List<?> list = (List<?>) o;
 if (list.size() != axes.size()) {
  return -1;
 }
 ListIterator<?> itr = list.listIterator();
 int computedIndex = 0;
 while (itr.hasNext()) {
  int axisIndex = itr.nextIndex();
  int elemIndex = axes.get(axisIndex).indexOf(itr.next());
  if (elemIndex == -1) {
   return -1;
  }
  computedIndex += elemIndex * axesSizeProduct[axisIndex + 1];
 }
 return computedIndex;
}

代码示例来源:origin: google/guava

/** An implementation of {@link List#lastIndexOf(Object)}. */
static int lastIndexOfImpl(List<?> list, @Nullable Object element) {
 if (list instanceof RandomAccess) {
  return lastIndexOfRandomAccess(list, element);
 } else {
  ListIterator<?> listIterator = list.listIterator(list.size());
  while (listIterator.hasPrevious()) {
   if (Objects.equal(element, listIterator.previous())) {
    return listIterator.nextIndex();
   }
  }
  return -1;
 }
}

代码示例来源:origin: redisson/redisson

List<RLock> acquiredLocks = new ArrayList<RLock>(locks.size());
for (ListIterator<RLock> iterator = locks.listIterator(); iterator.hasNext();) {
  RLock lock = iterator.next();
  boolean lockAcquired;
  try {
    acquiredLocks.add(lock);
  } else {
    if (locks.size() - acquiredLocks.size() == failedLocksLimit()) {
      break;
      acquiredLocks.clear();
      while (iterator.hasPrevious()) {
        iterator.previous();
  for (RLock rLock : acquiredLocks) {
    RFuture<Boolean> future = rLock.expireAsync(unit.toMillis(leaseTime), TimeUnit.MILLISECONDS);
    futures.add(future);

代码示例来源:origin: commons-collections/commons-collections

public void add(Object o) {
  checkMod();
  int i = nextIndex();
  get().add(i, o);
  expected = list;
  iter = get().listIterator(i + 1);
  lastReturnedIndex = -1;
}

代码示例来源:origin: jenkinsci/jenkins

public Iterator<T> iterator() {
    final ListIterator<T> itr = lst.listIterator(lst.size());
    return new Iterator<T>() {
      public boolean hasNext() {
        return itr.hasPrevious();
      }
      public T next() {
        return itr.previous();
      }
      public void remove() {
        itr.remove();
      }
    };
  }
};

相关文章