Java Code Examples for java.util.LinkedList#pollFirst()

The following examples show how to use java.util.LinkedList#pollFirst() . You can vote up the ones you like or vote down the ones you don't like, and go to the original project or source file by following the links above each example. You may check out the related API usage on the sidebar.
Example 1
Source File: Code_07_ExpressionCompute.java    From Project with Apache License 2.0 6 votes vote down vote up
public static int getNum(LinkedList<String> que) {
    int res = 0;
    boolean add = true;
    String cur = null;
    int num = 0;
    while (!que.isEmpty()) {
        cur = que.pollFirst();
        if (cur.equals("+")) {
            add = true;
        } else if (cur.equals("-")) {
            add = false;
        } else {
            num = Integer.valueOf(cur);
            res += add ? num : (-num);
        }
    }
    return res;
}
 
Example 2
Source File: PullLogMemTable.java    From qmq with Apache License 2.0 6 votes vote down vote up
public void dump(ByteBuf buffer, Map<String, PullLogIndexEntry> indexMap) {
    for (Map.Entry<String, PullLogSequence> entry : messageSequences.entrySet()) {
        LinkedList<Range> messagesInRange = entry.getValue().messagesInRange;
        Range first = messagesInRange.pollFirst();
        if (first == null) continue;

        long baseMessageSequence = first.start;
        PullLogIndexEntry indexEntry = new PullLogIndexEntry(entry.getValue().basePullSequence, baseMessageSequence, buffer.writerIndex(), messagesInRange.size());
        indexMap.put(entry.getKey(), indexEntry);
        for (Range range : messagesInRange) {
            for (long i = range.start; i <= range.end; ++i) {
                buffer.writeInt((int) (i - baseMessageSequence));
            }
        }
    }
}
 
Example 3
Source File: Function_sets_parameter.java    From EvilCoder with MIT License 6 votes vote down vote up
public static Set<Long> get_all_children(Joern_db joern_db, Long node_id)
{
Set<Long> children = new HashSet<>();
LinkedList<Long> new_nodes = new LinkedList<>();
 new_nodes.add(node_id);
  while(!new_nodes.isEmpty())
   {
   Long cur = new_nodes.pollFirst();
   List<Node> its_children = Pipeline.v(cur).children().to_list();
     for(Node c : its_children)
      {
        if(children.contains(c.getId()))
         {
          continue;
         }
        new_nodes.add(c.getId());
        children.add(c.getId());
      }
   }
 return children;
}
 
Example 4
Source File: AllLessNumSubArray.java    From Project with Apache License 2.0 5 votes vote down vote up
/**
 * 使用双向最大最小值更新结构,时间复杂度为 O(N)
 */
public static int getNum(int[] arr, int num) {
    if (arr == null || arr.length == 0) {
        return 0;
    }
    // 分别准备最大值和最小值更新结构
    LinkedList<Integer> qmax = new LinkedList<Integer>();
    LinkedList<Integer> qmin = new LinkedList<Integer>();
    int L = 0;
    int R = 0;
    int res = 0;
    while (L < arr.length) {
        while (R < arr.length) {
            while (!qmin.isEmpty() && arr[qmin.peekLast()] >= arr[R]) {
                qmin.pollLast();
            }
            qmin.addLast(R);
            while (!qmax.isEmpty() && arr[qmax.peekLast()] <= arr[R]) {
                qmax.pollLast();
            }
            qmax.addLast(R);
            // 不达标
            if (arr[qmax.getFirst()] - arr[qmin.getFirst()] > num) {
                break;
            }
            R++;
        }
        if (qmin.peekFirst() == L) {
            qmin.pollFirst();
        }
        if (qmax.peekFirst() == L) {
            qmax.pollFirst();
        }
        res += R - L;
        // 换一个开头
        L++;
    }
    return res;
}
 
Example 5
Source File: CompatibilityRunner.java    From parquet-mr with Apache License 2.0 5 votes vote down vote up
private static void compareJson(LinkedList<String> arguments) throws IOException {
  String oldJsonPath = arguments.pollFirst();
  String newJsonPath = arguments.pollFirst();

  File oldJsonFile = new File(oldJsonPath);
  checkExist(oldJsonFile);
  File newJsonFile = new File(newJsonPath);
  checkExist(newJsonFile);

  ObjectMapper mapper = new ObjectMapper();
  ThriftType.StructType oldStruct = mapper.readValue(oldJsonFile, ThriftType.StructType.class);
  ThriftType.StructType newStruct = mapper.readValue(newJsonFile, ThriftType.StructType.class);

  CompatibilityReport report = new CompatibilityChecker().checkCompatibility(oldStruct, newStruct);
  if (!report.isCompatible) {
    System.err.println("schema not compatible");
    System.err.println(report.getMessages());
    System.exit(1);
  }

  if (report.hasEmptyStruct()) {
    System.err.println("schema contains empty struct");
    System.err.println(report.getMessages());
    System.exit(1);
  }

  System.out.println("[success] schema is compatible");

}
 
Example 6
Source File: CompatibilityRunner.java    From parquet-mr with Apache License 2.0 5 votes vote down vote up
public static void main(String[] args) throws Exception {
  LinkedList<String> arguments = new LinkedList<String>(Arrays.asList(args));
  String operator = arguments.pollFirst();
  if (operator.equals("generate-json")) {
    //java CompatibilityRunner generate-json tfe_request com.twitter.logs.TfeRequestLog old_json/
    generateJson(arguments);
  }

  if (operator.equals("compare-json")) {
    compareJson(arguments);
  }
}
 
Example 7
Source File: StackUtils.java    From xlsmapper with Apache License 2.0 5 votes vote down vote up
/**
 * スタックから先頭の値を取り出す。
 * @param stack
 * @return スタックが空の場合は空文字を返す。
 */
public static String popup(final LinkedList<String> stack) {
    
    if(stack.isEmpty()) {
        return "";
    }
    
    return stack.pollFirst();
}
 
Example 8
Source File: AbstractImportContext.java    From packagedrone with Eclipse Public License 1.0 5 votes vote down vote up
protected static void closeEntries ( final List<ImportEntry> entries ) throws Exception
{
    final LinkedList<Exception> errors = new LinkedList<> ();

    // close all

    for ( final ImportEntry entry : entries )
    {
        try
        {
            entry.close ();
        }
        catch ( final Exception e )
        {
            errors.add ( e );
        }
    }

    // throw later

    if ( !errors.isEmpty () )
    {
        final Exception first = errors.pollFirst ();
        for ( final Exception ex : errors )
        {
            first.addSuppressed ( ex );
        }
        throw first;
    }
}
 
Example 9
Source File: CleanerConfig.java    From enmasse with Apache License 2.0 5 votes vote down vote up
public CleanerConfig verify() throws RuntimeException {

        final LinkedList<RuntimeException> result = new LinkedList<>();

        if (getTenantId() == null) {
            result.add(missingField("tenantId"));
        }
        if (this.infinispan.getHost().isBlank()) {
            result.add(missingField("infinispan.host"));
        }
        if (this.infinispan.getPort() <= 0) {
            result.add(missingField("infinispan.port"));
        }
        if (this.infinispan.getCacheNames().getDevices().isBlank()) {
            result.add(missingField("infinispan.devicesCacheName"));
        }
        if (this.infinispan.getCacheNames().getDeviceConnections().isBlank()) {
            result.add(missingField("infinispan.deviceStatesCacheName"));
        }

        // create result

        final RuntimeException e = result.pollFirst();
        if (e != null) {
            result.forEach(e::addSuppressed);
            throw e;
        }

        return this;
    }
 
Example 10
Source File: BidirectionalSearch.java    From theoryofprogramming with MIT License 5 votes vote down vote up
public static void BFSExplore(LinkedList< Integer >[] adjacencyList, LinkedList<Integer> queue, int[] parent) {
    if (queue.isEmpty()) {
        return;
    }
    
    int vertex = queue.pollFirst();
    System.out.println("vertex = " + vertex);
    
    for (int adjacentVertex : adjacencyList[vertex]) {
        if (parent[adjacentVertex] == Integer.MAX_VALUE) {  // if parent is not set, it is unvisited
            parent[adjacentVertex] = vertex;
            queue.add(adjacentVertex);
        }
    }
}
 
Example 11
Source File: CommandInjection.java    From Android_Code_Arbiter with GNU Lesser General Public License v3.0 5 votes vote down vote up
private String transferThroughList(String in, int index) {
    LinkedList<String> list = new LinkedList<String>();
    list.add(System.getenv("")); // taints the list
    list.clear(); // makes the list safe again
    list.add(1, "xx");
    list.addFirst(in); // can taint the list
    list.addLast("yy");
    list.push(in);
    return list.element() + list.get(index) + list.getFirst() + list.getLast()
            + list.peek() + list.peekFirst() + list.peekLast() + list.poll()
            + list.pollFirst() + list.pollLast() + list.pop() + list.remove()
            + list.remove(index) + list.removeFirst() + list.removeLast()
            + list.set(index, "safe") + list.toString();
}
 
Example 12
Source File: HaxeInheritanceDefinitionsSearcher.java    From intellij-haxe with Apache License 2.0 5 votes vote down vote up
static private boolean processInheritors(final String qName, final PsiElement context, final Processor<? super PsiElement> consumer) {
  final Set<String> namesSet = new THashSet<String>();
  final LinkedList<String> namesQueue = new LinkedList<String>();
  namesQueue.add(qName);
  final Project project = context.getProject();
  final GlobalSearchScope scope = GlobalSearchScope.allScope(project);
  while (!namesQueue.isEmpty()) {
    final String name = namesQueue.pollFirst();
    if (!namesSet.add(name)) {
      continue;
    }
    List<List<HaxeClassInfo>> files = FileBasedIndex.getInstance().getValues(HaxeInheritanceIndex.HAXE_INHERITANCE_INDEX, name, scope);
    files.addAll(FileBasedIndex.getInstance().getValues(HaxeTypeDefInheritanceIndex.HAXE_TYPEDEF_INHERITANCE_INDEX, name, scope));
    for (List<HaxeClassInfo> subClassInfoList : files) {
      for (HaxeClassInfo subClassInfo : subClassInfoList) {
        final HaxeClass subClass = HaxeResolveUtil.findClassByQName(subClassInfo.getValue(), context.getManager(), scope);
        if (subClass != null) {
          if (!consumer.process(subClass)) {
            return true;
          }
          namesQueue.add(subClass.getQualifiedName());
        }
      }
    }
  }
  return true;
}
 
Example 13
Source File: StackUtils.java    From super-csv-annotation with Apache License 2.0 5 votes vote down vote up
/**
 * スタックから先頭の値を取り出す。
 * @param stack
 * @return スタックが空の場合は空文字を返す。
 */
public static String popup(final LinkedList<String> stack) {
    
    if(stack.isEmpty()) {
        return "";
    }
    
    return stack.pollFirst();
}
 
Example 14
Source File: CompatibilityRunner.java    From parquet-mr with Apache License 2.0 5 votes vote down vote up
private static void generateJson(LinkedList<String> arguments) throws ClassNotFoundException, IOException {
  String catName = arguments.pollFirst();
  String className = arguments.pollFirst();
  String storedPath = arguments.pollFirst();
  File storeDir = new File(storedPath);
  ThriftType.StructType structType = ThriftSchemaConverter.toStructType((Class<? extends TBase<?, ?>>) Class.forName(className));
  ObjectMapper mapper = new ObjectMapper();

  String fileName = catName + ".json";
  mapper.writerWithDefaultPrettyPrinter().writeValue(new File(storeDir, fileName), structType);
}
 
Example 15
Source File: Solution3.java    From LeetCode-Solution-in-Good-Style with Apache License 2.0 5 votes vote down vote up
public boolean isSymmetric(TreeNode root) {
    if (root == null) {
        return true;
    }
    LinkedList<TreeNode> queue = new LinkedList<>();
    queue.addFirst(root.left);
    queue.addLast(root.right);
    while (!queue.isEmpty()) {
        // 出队的时候,看看是否有左右孩子,分别入队
        TreeNode leftNode = queue.pollFirst();
        TreeNode rightNode = queue.pollLast();
        if (leftNode == null && rightNode == null) {
            continue;
        }
        if (leftNode == null || rightNode == null) {
            return false;
        }
        queue.addFirst(leftNode.right);
        queue.addFirst(leftNode.left);
        queue.addLast(rightNode.left);
        queue.addLast(rightNode.right);

        if (leftNode.val != rightNode.val) {
            return false;
        }
    }
    return true;
}
 
Example 16
Source File: PropertyFormatAdapter.java    From jstarcraft-core with Apache License 2.0 5 votes vote down vote up
@Override
public <E> Iterator<E> iterator(Class<E> clazz, InputStream stream) {
    // 实例列表
    HashMap<Object, E> instanceObjects = new HashMap<>();
    try {
        Properties properties = new Properties();
        properties.load(stream);
        Constructor<E> constructor = clazz.getDeclaredConstructor();
        ReflectionUtility.makeAccessible(constructor);

        Field storageId = ReflectionUtility.uniqueField(clazz, ResourceId.class);
        storageId.setAccessible(true);

        TreeMap<?, ?> keyValues = new TreeMap<>(properties);
        for (Entry<?, ?> keyValue : keyValues.entrySet()) {
            LinkedList<String> fieldNames = new LinkedList<>(Arrays.asList(String.class.cast(keyValue.getKey()).split(dot)));
            String fieldName = fieldNames.pollFirst();
            String fieldValue = String.class.cast(keyValue.getValue());
            Object instanceId = ConversionUtility.convert(fieldName, storageId.getGenericType());
            E instanceObject = instanceObjects.get(instanceId);
            if (instanceObject == null) {
                instanceObject = constructor.newInstance();
                storageId.set(instanceObject, instanceId);
                instanceObjects.put(instanceId, instanceObject);
            }
            if (fieldNames.isEmpty()) {
                continue;
            } else {
                fieldName = fieldNames.pollFirst();
                process(instanceObject, clazz, fieldName, fieldNames, fieldValue);
            }
        }
        return instanceObjects.values().iterator();
    } catch (Exception exception) {
        throw new StorageException("遍历Properties异常", exception);
    }
}
 
Example 17
Source File: Offer59I.java    From Project with Apache License 2.0 5 votes vote down vote up
public int[] maxSlidingWindow(int[] nums, int k) {
    if (nums == null || k < 1 || nums.length < k) {
        return new int[0];
    }

    LinkedList<Integer> maxList = new LinkedList<Integer>();
    int[] res = new int[nums.length - k + 1];
    int index = 0;
    for (int i = 0; i < nums.length; i++) {
        // 更新双端队列,如果双端队列不为空,并且尾结点(存的是下标)对应数组中的值是否小于等于当前值
        while (!maxList.isEmpty() && nums[maxList.peekLast()] <= nums[i]) {
            maxList.pollLast();
        }
        // 上面一直弹出,直到不符合然后加上当前值。
        maxList.addLast(i);
        // 上面加法是通用的,但是减法是针对该题定制的
        // 当过期的时候(当窗口形成之后再扩充才算过期)即窗口长度 > k,窗口形成过程中不会过期, i - k 表示过期的下标
        if (maxList.peekFirst() == i - k) {
            maxList.pollFirst();
        }
        // 判断下标过期
        if (i >= k - 1) {
            // 当窗口已经形成了,记录每一步的res
            res[index++] = nums[maxList.peekFirst()];
        }
    }
    return res;
}
 
Example 18
Source File: SlidingWindowMaxArray.java    From Project with Apache License 2.0 5 votes vote down vote up
public static int[] getMaxWindow(int[] arr, int w) {
    if (arr == null || w < 1 || arr.length < w) {
        return null;
    }
    // LinkedList 就是一个标准的双向链表
    LinkedList<Integer> maxList = new LinkedList<Integer>();
    // 生成的结果数组
    int[] res = new int[arr.length - w + 1];
    int index = 0;
    for (int i = 0; i < arr.length; i++) {
        // 更新双端队列,如果双端队列不为空,并且尾结点(存的是下标)对应数组中的值是否小于等于当前值
        while (!maxList.isEmpty() && arr[maxList.peekLast()] <= arr[i]) {
            maxList.pollLast();
        }
        // 上面一直弹出,直到不符合然后加上当前值。
        maxList.addLast(i);
        // 上面加法是通用的,但是减法是针对该题定制的
        // 当过期的时候(当窗口形成之后再扩充才算过期)即窗口长度 > w,窗口形成过程中不会过期, i - w表示过期的下标
        if (maxList.peekFirst() == i - w) {
            maxList.pollFirst();
        }
        // 判断下标过期
        if (i >= w - 1) {
            // 当窗口已经形成了,记录每一步的res
            res[index++] = arr[maxList.peekFirst()];
        }
    }
    return res;
}
 
Example 19
Source File: SOLRTrackingComponentImpl.java    From alfresco-repository with GNU Lesser General Public License v3.0 4 votes vote down vote up
/**
 * Does a 'breadth first' search of ancestors, caching as it goes
 * @param nodeIds initial list of nodes to visit
 * @return all visited nodes, in no particular order
 */
private List<Long> cacheAncestors(List<Long> nodeIds)
{
    final LinkedList<Long> toVisit = new LinkedList<Long>(nodeIds);
    Set<Long> visited = new TreeSet<Long>();
    Long nodeId;
    nodeDAO.cacheNodesById(toVisit);
    Long lastCached = toVisit.peekLast();
    while ((nodeId = toVisit.pollFirst()) != null)
    {
        if (visited.add(nodeId) && (nodeDAO.getNodeIdStatus(nodeId) != null) && (false == nodeDAO.getNodeIdStatus(nodeId).isDeleted()))
        {
            nodeDAO.getParentAssocs(nodeId, null, null, null, new ChildAssocRefQueryCallback()
            {
                @Override
                public boolean preLoadNodes()
                {
                    return false;
                }

                @Override
                public boolean orderResults()
                {
                    return false;
                }

                @Override
                public boolean handle(Pair<Long, ChildAssociationRef> childAssocPair,
                        Pair<Long, NodeRef> parentNodePair, Pair<Long, NodeRef> childNodePair)
                {
                    toVisit.add(parentNodePair.getFirst());
                    return true;
                }

                @Override
                public void done()
                {
                }
            });
        }
        final boolean nodeIdEqualsLastCached = (nodeId == null && lastCached == null) ||
                                               (nodeId != null && nodeId.equals(lastCached));
        if (nodeIdEqualsLastCached && !toVisit.isEmpty())
        {
            nodeDAO.cacheNodesById(toVisit);
            lastCached = toVisit.peekLast();
        }
    }
    return new ArrayList<Long>(visited);
}
 
Example 20
Source File: CleanupFile.java    From ByteTCC with GNU Lesser General Public License v3.0 4 votes vote down vote up
public void timingCompress() throws RuntimeException {
	LinkedList<CleanupRecord> removedList = new LinkedList<CleanupRecord>();

	CleanupRecord lastEnabledRecord = null;
	for (int current = CONSTANTS_START_INDEX; current < this.endIndex; current = current + CONSTANTS_RECORD_SIZE + 1) {
		int index = (current - CONSTANTS_START_INDEX) / (CONSTANTS_RECORD_SIZE + 1);
		CleanupRecord record = this.recordList.get(index);

		int memoRecordFlag = record.getRecordFlag();
		boolean memoEnabled = record.isEnabled();
		boolean forgetFlag = (memoRecordFlag & 0x2) == 0x2;

		if (memoEnabled && forgetFlag) {
			this.delete(record); // change status & unRegister record
			removedList.add(record);
			continue;
		} else if (memoEnabled == false) {
			removedList.add(record);
			this.unRegisterRecord(record); // unRegister record
			continue;
		}

		CleanupRecord removedRecord = removedList.pollFirst();
		if (removedRecord == null) {
			lastEnabledRecord = record;
			continue;
		}

		removedRecord.setEnabled(record.isEnabled());
		removedRecord.setRecordFlag(record.getRecordFlag());
		removedRecord.setResource(record.getResource());
		// removedRecord.setStartIndex(); // dont set startIndex
		removedRecord.setXid(record.getXid());

		this.forget(removedRecord);
		this.delete(record);

		removedList.add(record);

		lastEnabledRecord = removedRecord;
	} // end-for

	int lastRecordEndIndex = lastEnabledRecord == null ? //
			CONSTANTS_START_INDEX : lastEnabledRecord.getStartIndex() + CONSTANTS_RECORD_SIZE + 1;
	this.updateEndIndex(lastRecordEndIndex);
}