java.util.Iterator.remove()方法的使用及代码示例

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

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

Iterator.remove介绍

[英]Removes the last object returned by next from the collection. This method can only be called once between each call to next.
[中]从集合中删除next返回的最后一个对象。此方法只能在每次调用下一次之间调用一次。

代码示例

代码示例来源:origin: stackoverflow.com

  1. public static void printMap(Map mp) {
  2. Iterator it = mp.entrySet().iterator();
  3. while (it.hasNext()) {
  4. Map.Entry pair = (Map.Entry)it.next();
  5. System.out.println(pair.getKey() + " = " + pair.getValue());
  6. it.remove(); // avoids a ConcurrentModificationException
  7. }
  8. }

代码示例来源:origin: stackoverflow.com

  1. List<String> list = new ArrayList<>();
  2. // This is a clever way to create the iterator and call iterator.hasNext() like
  3. // you would do in a while-loop. It would be the same as doing:
  4. // Iterator<String> iterator = list.iterator();
  5. // while (iterator.hasNext()) {
  6. for (Iterator<String> iterator = list.iterator(); iterator.hasNext();) {
  7. String string = iterator.next();
  8. if (string.isEmpty()) {
  9. // Remove the current element from the iterator and the list.
  10. iterator.remove();
  11. }
  12. }

代码示例来源:origin: iluwatar/java-design-patterns

  1. private void processPendingCommands() {
  2. Iterator<Runnable> iterator = pendingCommands.iterator();
  3. while (iterator.hasNext()) {
  4. Runnable command = iterator.next();
  5. command.run();
  6. iterator.remove();
  7. }
  8. }

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

  1. @CollectionSize.Require(ONE)
  2. @CollectionFeature.Require(SUPPORTS_ITERATOR_REMOVE)
  3. public void testEntrySetIteratorRemove() {
  4. Set<Entry<K, V>> entrySet = getMap().entrySet();
  5. Iterator<Entry<K, V>> entryItr = entrySet.iterator();
  6. assertEquals(e0(), entryItr.next());
  7. entryItr.remove();
  8. assertTrue(getMap().isEmpty());
  9. assertFalse(entrySet.contains(e0()));
  10. }

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

  1. public void testTransformRemove() {
  2. List<String> list = Lists.newArrayList("1", "2", "3");
  3. Iterator<String> input = list.iterator();
  4. Iterator<Integer> iterator =
  5. Iterators.transform(
  6. input,
  7. new Function<String, Integer>() {
  8. @Override
  9. public Integer apply(String from) {
  10. return Integer.valueOf(from);
  11. }
  12. });
  13. assertEquals(Integer.valueOf(1), iterator.next());
  14. assertEquals(Integer.valueOf(2), iterator.next());
  15. iterator.remove();
  16. assertEquals(asList("1", "3"), list);
  17. }

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

  1. @CollectionFeature.Require(SUPPORTS_ITERATOR_REMOVE)
  2. @CollectionSize.Require(absent = ZERO)
  3. public void testIterator_removeAffectsBackingCollection() {
  4. int originalSize = collection.size();
  5. Iterator<E> iterator = collection.iterator();
  6. Object element = iterator.next();
  7. // If it's an Entry, it may become invalid once it's removed from the Map. Copy it.
  8. if (element instanceof Entry) {
  9. Entry<?, ?> entry = (Entry<?, ?>) element;
  10. element = mapEntry(entry.getKey(), entry.getValue());
  11. }
  12. assertTrue(collection.contains(element)); // sanity check
  13. iterator.remove();
  14. assertFalse(collection.contains(element));
  15. assertEquals(originalSize - 1, collection.size());
  16. }

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

  1. public void testCycleRemoveWithoutNext() {
  2. Iterator<String> cycle = Iterators.cycle("a", "b");
  3. assertTrue(cycle.hasNext());
  4. try {
  5. cycle.remove();
  6. fail("no exception thrown");
  7. } catch (IllegalStateException expected) {
  8. }
  9. }

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

  1. @Override
  2. public boolean remove(Object o) {
  3. Iterator<Entry<K, V>> entryItr = unfiltered.entrySet().iterator();
  4. while (entryItr.hasNext()) {
  5. Entry<K, V> entry = entryItr.next();
  6. if (predicate.apply(entry) && Objects.equal(entry.getValue(), o)) {
  7. entryItr.remove();
  8. return true;
  9. }
  10. }
  11. return false;
  12. }

代码示例来源:origin: skylot/jadx

  1. public static void remove(List<InsnNode> list, InsnNode insn) {
  2. for (Iterator<InsnNode> iterator = list.iterator(); iterator.hasNext(); ) {
  3. InsnNode next = iterator.next();
  4. if (next == insn) {
  5. iterator.remove();
  6. return;
  7. }
  8. }
  9. }

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

  1. /** Clears the iterator using its remove method. */
  2. static void clear(Iterator<?> iterator) {
  3. checkNotNull(iterator);
  4. while (iterator.hasNext()) {
  5. iterator.next();
  6. iterator.remove();
  7. }
  8. }

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

  1. @CollectionSize.Require(SEVERAL)
  2. @CollectionFeature.Require(SUPPORTS_ITERATOR_REMOVE)
  3. public void testAsMapEntrySetIteratorRemovePropagatesToMultimap() {
  4. resetContainer(Helpers.mapEntry(k0(), v0()), Helpers.mapEntry(k0(), v3()));
  5. Set<Entry<K, Collection<V>>> asMapEntrySet = multimap().asMap().entrySet();
  6. Iterator<Entry<K, Collection<V>>> asMapEntryItr = asMapEntrySet.iterator();
  7. asMapEntryItr.next();
  8. asMapEntryItr.remove();
  9. assertTrue(multimap().isEmpty());
  10. }
  11. }

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

  1. @Test(expected = UnsupportedOperationException.class)
  2. public void toFlowableIterableRemove() {
  3. @SuppressWarnings("unchecked")
  4. Iterable<? extends Flowable<Integer>> f = SingleInternalHelper.iterableToFlowable(Arrays.asList(Single.just(1)));
  5. Iterator<? extends Flowable<Integer>> iterator = f.iterator();
  6. iterator.next();
  7. iterator.remove();
  8. }

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

  1. @Override
  2. public boolean retainAll(Collection<?> collection) {
  3. Iterator<Entry<K, V>> entryItr = unfiltered.entrySet().iterator();
  4. boolean result = false;
  5. while (entryItr.hasNext()) {
  6. Entry<K, V> entry = entryItr.next();
  7. if (predicate.apply(entry) && !collection.contains(entry.getValue())) {
  8. entryItr.remove();
  9. result = true;
  10. }
  11. }
  12. return result;
  13. }

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

  1. @Override
  2. public void accept(List<T> bucket) {
  3. Iterator<List<T>> it = buckets.iterator();
  4. while (it.hasNext()) {
  5. List<T> itBucket = it.next();
  6. if (bucket == itBucket) {
  7. it.remove();
  8. broadcastNext(bucket);
  9. break;
  10. }
  11. }
  12. }
  13. };

代码示例来源:origin: stackoverflow.com

  1. Iterator<Map.Entry<String,String>> iter = TestMap.entrySet().iterator();
  2. while (iter.hasNext()) {
  3. Map.Entry<String,String> entry = iter.next();
  4. if("Sample".equalsIgnoreCase(entry.getValue())){
  5. iter.remove();
  6. }
  7. }

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

  1. public void testIdentityKeySetIteratorRemove() {
  2. BiMap<Integer, String> bimap =
  3. new AbstractBiMap<Integer, String>(
  4. new IdentityHashMap<Integer, String>(), new IdentityHashMap<String, Integer>()) {};
  5. bimap.put(1, "one");
  6. bimap.put(2, "two");
  7. bimap.put(3, "three");
  8. Iterator<Integer> iterator = bimap.keySet().iterator();
  9. iterator.next();
  10. iterator.next();
  11. iterator.remove();
  12. iterator.next();
  13. iterator.remove();
  14. assertEquals(1, bimap.size());
  15. assertEquals(1, bimap.inverse().size());
  16. }

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

  1. @Override
  2. public boolean removeAll(Collection<?> collection) {
  3. Iterator<Entry<K, V>> entryItr = unfiltered.entrySet().iterator();
  4. boolean result = false;
  5. while (entryItr.hasNext()) {
  6. Entry<K, V> entry = entryItr.next();
  7. if (predicate.apply(entry) && collection.contains(entry.getValue())) {
  8. entryItr.remove();
  9. result = true;
  10. }
  11. }
  12. return result;
  13. }

代码示例来源:origin: skylot/jadx

  1. private static void removeInsn(MethodNode mth, BlockNode block, PhiInsn phiInsn) {
  2. Iterator<InsnNode> it = block.getInstructions().iterator();
  3. while (it.hasNext()) {
  4. InsnNode insn = it.next();
  5. if (insn == phiInsn) {
  6. it.remove();
  7. return;
  8. }
  9. }
  10. LOG.warn("Phi node not removed: {}, mth: {}", phiInsn, mth);
  11. }

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

  1. /**
  2. * Deletes and returns the next value from the iterator, or returns {@code null} if there is no
  3. * such value.
  4. */
  5. static <T> @Nullable T pollNext(Iterator<T> iterator) {
  6. if (iterator.hasNext()) {
  7. T result = iterator.next();
  8. iterator.remove();
  9. return result;
  10. } else {
  11. return null;
  12. }
  13. }

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

  1. public void testBiMapEntrySetIteratorRemove() {
  2. BiMap<Integer, String> map = HashBiMap.create();
  3. map.put(1, "one");
  4. Set<Entry<Integer, String>> entries = map.entrySet();
  5. Iterator<Entry<Integer, String>> iterator = entries.iterator();
  6. Entry<Integer, String> entry = iterator.next();
  7. entry.setValue("two"); // changes the iterator's current entry value
  8. assertEquals("two", map.get(1));
  9. assertEquals(Integer.valueOf(1), map.inverse().get("two"));
  10. iterator.remove(); // removes the updated entry
  11. assertTrue(map.isEmpty());
  12. }

相关文章