java.util.ListIterator#nextIndex ( )源码实例Demo

下面列出了java.util.ListIterator#nextIndex ( ) 实例代码,或者点击链接到github查看源代码,也可以在右侧发表评论。

源代码1 项目: codebuff   文件: Lists.java
/**
 * 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;
         }
}
 
源代码2 项目: gatk   文件: CreateReadCountPanelOfNormals.java
private static RealMatrix constructReadCountMatrix(final Logger logger,
                                                   final List<File> inputReadCountFiles,
                                                   final SAMSequenceDictionary sequenceDictionary,
                                                   final List<SimpleInterval> intervals) {
    logger.info("Validating and aggregating input read-counts files...");
    final int numSamples = inputReadCountFiles.size();
    final int numIntervals = intervals.size();
    final RealMatrix readCountMatrix = new Array2DRowRealMatrix(numSamples, numIntervals);
    final ListIterator<File> inputReadCountFilesIterator = inputReadCountFiles.listIterator();
    while (inputReadCountFilesIterator.hasNext()) {
        final int sampleIndex = inputReadCountFilesIterator.nextIndex();
        final File inputReadCountFile = inputReadCountFilesIterator.next();
        logger.info(String.format("Aggregating read-counts file %s (%d / %d)", inputReadCountFile, sampleIndex + 1, numSamples));
        final SimpleCountCollection readCounts = SimpleCountCollection.read(inputReadCountFile);
        if (!CopyNumberArgumentValidationUtils.isSameDictionary(readCounts.getMetadata().getSequenceDictionary(), sequenceDictionary)) {
            logger.warn(String.format("Sequence dictionary for read-counts file %s does not match those in other read-counts files.", inputReadCountFile));
        }
        Utils.validateArg(readCounts.getIntervals().equals(intervals),
                String.format("Intervals for read-counts file %s do not match those in other read-counts files.", inputReadCountFile));
        readCountMatrix.setRow(sampleIndex, readCounts.getCounts());
    }
    return readCountMatrix;
}
 
源代码3 项目: swagger2markup   文件: ConfluenceMarkupBuilder.java
@Override
public MarkupDocBuilder tableWithColumnSpecs(List<MarkupTableColumn> columnSpecs, List<List<String>> cells) {
    Validate.notEmpty(cells, "cells must not be null");
    documentBuilder.append(newLine);
    if (columnSpecs != null && !columnSpecs.isEmpty()) {
        documentBuilder.append("||");
        for (MarkupTableColumn column : columnSpecs) {
            documentBuilder.append(formatCellContent(defaultString(column.header))).append("||");
        }
        documentBuilder.append(newLine);
    }
    for (List<String> row : cells) {
        documentBuilder.append(ConfluenceMarkup.TABLE_COLUMN_DELIMITER);
        ListIterator<String> cellIterator = row.listIterator();
        while (cellIterator.hasNext()) {
            int cellIndex = cellIterator.nextIndex();
            if (columnSpecs != null && columnSpecs.size() > cellIndex && columnSpecs.get(cellIndex).headerColumn)
                documentBuilder.append(ConfluenceMarkup.TABLE_COLUMN_DELIMITER);

            documentBuilder.append(formatCellContent(cellIterator.next())).append(ConfluenceMarkup.TABLE_COLUMN_DELIMITER);
        }
        documentBuilder.append(newLine);
    }
    documentBuilder.append(newLine);
    return this;
}
 
源代码4 项目: openjdk-jdk9   文件: SplitIndexWriter.java
/**
 * Generate separate index files, for each Unicode character, listing all
 * the members starting with the particular unicode character.
 *
 * @param configuration the configuration for this doclet
 * @param indexbuilder IndexBuilder built by {@link IndexBuilder}
 * @throws DocFileIOException if there is a problem generating the index files
 */
public static void generate(ConfigurationImpl configuration,
                            IndexBuilder indexbuilder) throws DocFileIOException {
    DocPath path = DocPaths.INDEX_FILES;
    Set<Character> keys = new TreeSet<>(indexbuilder.getIndexMap().keySet());
    keys.addAll(configuration.tagSearchIndexKeys);
    ListIterator<Character> li = new ArrayList<>(keys).listIterator();
    while (li.hasNext()) {
        Object ch = li.next();
        DocPath filename = DocPaths.indexN(li.nextIndex());
        SplitIndexWriter indexgen = new SplitIndexWriter(configuration,
                path.resolve(filename),
                indexbuilder, keys, li.previousIndex(), li.nextIndex());
        indexgen.generateIndexFile((Character) ch);
        if (!li.hasNext()) {
            indexgen.createSearchIndexFiles();
        }
    }
}
 
源代码5 项目: codebuff   文件: CartesianList.java
@Override
public boolean contains(@Nullable Object o) {
  if (!(o instanceof List)) {
    return false;
  }
  List<?> list = (List<?>) o;
  if (list.size() != axes.size()) {
    return false;
  }
  ListIterator<?> itr = list.listIterator();
  while (itr.hasNext()) {
    int index = itr.nextIndex();
    if (!axes.get(index).contains(itr.next())) {
      return false;
    }
  }
  return true;
}
 
源代码6 项目: codebuff   文件: CartesianList.java
@Override
public boolean contains(@Nullable Object o) {
  if (!(o instanceof List)) {
    return false;
  }
  List<?> list = (List<?>) o;
  if (list.size() != axes.size()) {
    return false;
  }
  ListIterator<?> itr = list.listIterator();
  while (itr.hasNext()) {
    int index = itr.nextIndex();
    if (!axes.get(index).contains(itr.next())) {
      return false;
    }
  }
  return true;
}
 
源代码7 项目: codebuff   文件: Lists.java
/**
 * 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;
         }
}
 
@Override
public MarkupDocBuilder tableWithColumnSpecs(List<MarkupTableColumn> columnSpecs, List<List<String>> cells) {
    Validate.notEmpty(cells, "cells must not be null");
    documentBuilder.append(newLine);
    if (columnSpecs != null && !columnSpecs.isEmpty()) {
        documentBuilder.append("||");
        for (MarkupTableColumn column : columnSpecs) {
            documentBuilder.append(formatCellContent(defaultString(column.header))).append("||");
        }
        documentBuilder.append(newLine);
    }
    for (List<String> row : cells) {
        documentBuilder.append(ConfluenceMarkup.TABLE_COLUMN_DELIMITER);
        ListIterator<String> cellIterator = row.listIterator();
        while (cellIterator.hasNext()) {
            int cellIndex = cellIterator.nextIndex();
            if (columnSpecs != null && columnSpecs.size() > cellIndex && columnSpecs.get(cellIndex).headerColumn)
                documentBuilder.append(ConfluenceMarkup.TABLE_COLUMN_DELIMITER);

            documentBuilder.append(formatCellContent(cellIterator.next())).append(ConfluenceMarkup.TABLE_COLUMN_DELIMITER);
        }
        documentBuilder.append(newLine);
    }
    documentBuilder.append(newLine);
    return this;
}
 
源代码9 项目: wildfly-core   文件: NodeSubregistry.java
private RegistrySearchControl(final ListIterator<PathElement> iterator, final String childName) {
    final Map<String, AbstractResourceRegistration> snapshot = childRegistriesUpdater.get(NodeSubregistry.this);
    this.specifiedRegistry = snapshot.get(childName);
    this.wildCardRegistry = WILDCARD_VALUE.equals(childName) ? null : snapshot.get(WILDCARD_VALUE);
    this.iterator = iterator;
    this.restoreIndex = (specifiedRegistry != null && wildCardRegistry != null) ? iterator.nextIndex() : -1;
}
 
源代码10 项目: crate   文件: SymbolMatchers.java
public static Matcher<Symbol> isFunction(final String name, @Nullable final List<DataType> argumentTypes) {
    if (argumentTypes == null) {
        return isFunction(name);
    }
    Matcher[] argMatchers = new Matcher[argumentTypes.size()];
    ListIterator<DataType> it = argumentTypes.listIterator();
    while (it.hasNext()) {
        int i = it.nextIndex();
        DataType type = it.next();
        argMatchers[i] = hasDataType(type);
    }
    //noinspection unchecked
    return isFunction(name, argMatchers);
}
 
源代码11 项目: batfish   文件: FilterLineReachabilityAnswerer.java
private static void answerAclReachabilityLine(
    AclSpecs aclSpec, BDDPacket bddPacket, FilterLineReachabilityRows answerRows) {
  BDDFactory bddFactory = bddPacket.getFactory();
  BDDSourceManager sourceMgr =
      BDDSourceManager.forInterfaces(bddPacket, aclSpec.acl.getInterfaces());
  IpAccessListToBdd ipAccessListToBdd =
      new IpAccessListToBddImpl(
          bddPacket, sourceMgr, aclSpec.acl.getDependencies(), ImmutableMap.of());

  IpAccessList ipAcl = aclSpec.acl.getSanitizedAcl();
  List<AclLine> lines = ipAcl.getLines();

  /* Convert every line to permit and deny BDDs. */
  List<PermitAndDenyBdds> ipLineToBDDMap =
      lines.stream().map(ipAccessListToBdd::toPermitAndDenyBdds).collect(Collectors.toList());

  /* Pass over BDDs to classify each as unmatchable, unreachable, or (implicitly) reachable. */
  BDD unmatchedPackets = bddFactory.one(); // The packets that are not yet matched by the ACL.
  ListIterator<PermitAndDenyBdds> lineIt = ipLineToBDDMap.listIterator();
  while (lineIt.hasNext()) {
    int lineNum = lineIt.nextIndex();
    PermitAndDenyBdds lineBDDs = lineIt.next();
    if (lineBDDs.isZero()) {
      // This line is unmatchable
      answerRows.addUnmatchableLine(aclSpec, lineNum);
    } else if (unmatchedPackets.isZero() || !lineBDDs.getMatchBdd().andSat(unmatchedPackets)) {
      // No unmatched packets in the ACL match this line, so this line is unreachable.
      BlockingProperties blockingProps = findBlockingPropsForLine(lineNum, ipLineToBDDMap);
      answerRows.addBlockedLine(aclSpec, lineNum, blockingProps);
    }
    unmatchedPackets = unmatchedPackets.diff(lineBDDs.getMatchBdd());
  }
}
 
源代码12 项目: flink   文件: Configuration.java
private <T> void toString(List<T> resources, StringBuilder sb) {
	ListIterator<T> i = resources.listIterator();
	while (i.hasNext()) {
		if (i.nextIndex() != 0) {
			sb.append(", ");
		}
		sb.append(i.next());
	}
}
 
源代码13 项目: openjdk-jdk9   文件: BaseAction.java
private Map<Executable, State> decodeMap(List<String> lines) {
    if (lines == null || lines.size() == 0) {
        throw new Error("TESTBUG: unexpected lines list");
    }
    Map<Executable, State> stateMap = new HashMap<>();
    int startIndex = 0;
    ListIterator<String> iterator = lines.listIterator();
    while (iterator.hasNext()) {
        int index = iterator.nextIndex();
        String next = iterator.next();
        switch (next) {
            case "{" :
                startIndex = index;
                break;
            case "}" :
                // method name goes after {
                Executable executable = METHODS_NAMES.get(lines.get(
                        ++startIndex));
                // state description starts after method
                State state = State.fromString(lines.subList(++startIndex,
                        index).toArray(new String[index - startIndex]));
                stateMap.put(executable, state);
                break;
        }
    }
    return stateMap;
}
 
源代码14 项目: anno4j   文件: ValidatorChain.java
/**
 * Returns the human readable value space definitions of the given datatype, i.e.
 * a list of constraints made by the validators on the datatypes value space.
 * @param range The datatype to get the definitions for.
 * @return The definitions in the same order as the validators imposing them.
 */
public String[] getValueSpaceDefinitions(RDFSClazz range) {
    String[] definitions = new String[size()];

    ListIterator<Validator> iterator = listIterator();
    while (iterator.hasNext()) {
        definitions[iterator.nextIndex()] = iterator.next().getValueSpaceDefinition(range);
    }

    return definitions;
}
 
源代码15 项目: big-c   文件: Configuration.java
private <T> void toString(List<T> resources, StringBuilder sb) {
  ListIterator<T> i = resources.listIterator();
  while (i.hasNext()) {
    if (i.nextIndex() != 0) {
      sb.append(", ");
    }
    sb.append(i.next());
  }
}
 
源代码16 项目: monsoon   文件: InterpolatedTSC.java
/**
 * Finds the first resolution of name in the given TimeSeriesCollections.
 * The cache is used and updated to skip the linear search phase.
 *
 * @param c TimeSeriesCollection instances in which to search.
 * @param name The searched for name. Note that the name must be present in
 * the collection.
 * @param cache Cache used and updated during lookups, to skip the linear
 * search.
 * @return The first TimeSeriesValue in the list of TSCollections with the
 * given name.
 * @throws IllegalStateException if the name was not found.
 */
private static Map.Entry<DateTime, TimeSeriesValue> findName(List<TimeSeriesCollection> c, GroupName name) {
    ListIterator<TimeSeriesCollection> iter = c.listIterator();
    while (iter.hasNext()) {
        final int idx = iter.nextIndex();
        final TimeSeriesCollection tsdata = iter.next();

        final Optional<TimeSeriesValue> found = tsdata.get(name);
        if (found.isPresent())
            return SimpleMapEntry.create(tsdata.getTimestamp(), found.get());
    }

    throw new IllegalStateException("name not present in list of time series collections");
}
 
源代码17 项目: sakai   文件: TemplateImpl.java
public String fillGrades(StudentGrades student) {
	String output = new String(templateCode);
	output = output.replaceAll("\\$0\\$", student.getUsername());
	ListIterator grades = student.getGrades().listIterator();
	while (grades.hasNext()) {
		int index = grades.nextIndex();
		String grade = (String) grades.next();
		output = output.replaceAll("\\$" + (index + 1) + "\\" +
				"$", grade);
	}
	return output;
}
 
Node[] getTrees(FeatureSet set) {
    Node[] trees = new Node[splitParserStates.size()];
    ListIterator<SplitParserState> it = splitParserStates.listIterator();
    while(it.hasNext()) {
        trees[it.nextIndex()] = it.next().toNode(set);
    }
    return trees;
}
 
源代码19 项目: jivejdon   文件: ThreadPrevNexListAction.java
public ActionForward execute(ActionMapping actionMapping, ActionForm actionForm, HttpServletRequest request, HttpServletResponse response)
		throws Exception {

	String currentThreadId = request.getParameter("thread");
	if ((UtilValidate.isEmpty(currentThreadId)) || (!UtilValidate.isInteger(currentThreadId))) {
		Debug.logError("require the paramters : currentThreadId ");
		return actionMapping.findForward(FormBeanUtil.FORWARD_SUCCESS_NAME);
	}
	try {
		Long currentThreadIdL = new Long(currentThreadId);
		ForumMessageQueryService forumMessageQueryService = (ForumMessageQueryService) WebAppUtil.getService("forumMessageQueryService",
				this.servlet.getServletContext());
		List threads = forumMessageQueryService.getThreadsPrevNext(currentThreadIdL);

		int index = -1;
		if (threads.size() != 0) {
			ForumThread currentThread = forumMessageQueryService.getThread(currentThreadIdL);
			index = threads.indexOf(currentThread);
		}
		Debug.logVerbose(" found the currentThread the index=" + index, module);

		// change the iterator for display
		ListIterator li = threads.listIterator();

		if (index != -1) {
			while (li.nextIndex() != index) {
				li.next();
			}
		}

		request.setAttribute("ThreadsPrevNext", li); // for above

		ListIterator li2 = threads.listIterator();
		if (index != -1) {
			while (li2.nextIndex() != index) {
				li2.next();
			}
		}
		request.setAttribute("ThreadsPrevNext2", li2);// for below

	} catch (Exception e) {
		Debug.logError(e, module);
	}
	return actionMapping.findForward(FormBeanUtil.FORWARD_SUCCESS_NAME);
}
 
源代码20 项目: swift-t   文件: ValueNumber.java
private void findCongruencesRec(Program program, Function f, Block block,
    ExecContext execCx, Congruences state, Map<Block, Congruences> result)
        throws OptUnsafeError {
  result.put(block, state);

  ListIterator<Statement> stmts = block.statementIterator();
  while (stmts.hasNext()) {
    int stmtIndex = stmts.nextIndex();
    Statement stmt = stmts.next();

    if (stmt.type() == StatementType.INSTRUCTION) {
      /* First try to see if we can expand instruction sequence */

      Instruction inst = stmt.instruction();
      if (logger.isTraceEnabled() && inst.op != Opcode.COMMENT) {
        state.printTraceInfo(logger, program.constants());
        logger.trace("-----------------------------");
        logger.trace("At instruction: " + inst);
      }

      if (switchToImmediate(logger, f, execCx, block, state, inst, stmts,
                            stmtIndex)) {
        /*
         * We switched the instruction for a new sequence of instructions.
         * Restart iteration and *don't* increment statement index to account.
         */
        continue;
      }
      findCongruencesInst(program, f, execCx, block, stmts, inst, stmtIndex,
                          state);
    } else {
      assert (stmt.type() == StatementType.CONDITIONAL);
      // handle situations like:
      // all branches assign future X a local values v1,v2,v3,etc.
      // in this case should try to create another local value outside of
      // conditional z which has the value from all branches stored
      UnifiedValues unified = findCongruencesContRec(program, f, execCx,
                          stmt.conditional(), stmtIndex, state, result);
      state.addUnifiedValues(program.constants(), f.id().uniqueName(),
                            stmtIndex, unified);
    }
  }

  int stmtCount = block.getStatements().size();
  for (Continuation cont: block.getContinuations()) {
    findCongruencesContRec(program, f, execCx, cont, stmtCount,
                           state, result);
  }

  validateState(program.constants(), state);
}