java.util.LinkedHashMap#remove ( )源码实例Demo

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

源代码1 项目: react-native-GPay   文件: BundleDeltaClient.java
private static int patchDelta(JsonReader jsonReader, LinkedHashMap<Number, byte[]> map)
  throws IOException {
  jsonReader.beginArray();

  int numModules = 0;
  while (jsonReader.hasNext()) {
    jsonReader.beginArray();

    int moduleId = jsonReader.nextInt();

    if (jsonReader.peek() == JsonToken.NULL) {
      jsonReader.skipValue();
      map.remove(moduleId);
    } else {
      map.put(moduleId, jsonReader.nextString().getBytes());
    }

    jsonReader.endArray();
    numModules++;
  }

  jsonReader.endArray();

  return numModules;
}
 
源代码2 项目: metron   文件: SetFunctions.java
@Override
@SuppressWarnings("unchecked")
public Object apply(List<Object> list) {
  if(list.size() < 1) {
    return null;
  }
  LinkedHashMap<Object, Integer> ret = (LinkedHashMap<Object, Integer>)list.get(0);
  if (ret == null) {
    ret = new LinkedHashMap<>();
  }
  for (int i = 1;i < list.size();++i) {
    Object o = list.get(i);
    if (o != null) {
      Integer cnt = ret.get(o);
      if (cnt == null) {
        continue;
      }
      if (cnt == 1) {
        ret.remove(o);
      } else {
        ret.put(o, cnt - 1);
      }
    }
  }
  return ret;
}
 
源代码3 项目: elk-reasoner   文件: NQEvictor.java
@Override
public void add(final E element) {
	// If element is in some queue but the last one, upgrade it.
	for (int i = 0; i < elements_.size() - 1; i++) {
		final LinkedHashMap<E, Boolean> iThQueue = elements_.get(i);
		if (iThQueue.remove(element) != null) {
			elements_.get(i + 1).put(element, true);
			return;
		}
	}
	// else if element is in the last queue, reinsert it.
	final LinkedHashMap<E, Boolean> lastQueue = elements_
			.get(elements_.size() - 1);
	if (lastQueue.containsKey(element)) {
		lastQueue.put(element, true);
		return;
	}
	// else put it on the first queue.
	elements_.get(0).put(element, true);
}
 
源代码4 项目: vespa   文件: DimensionCache.java
private void updatePersistentData(Bucket toDelete) {
    if (toDelete == null) {
        return;
    }
    long millis = toDelete.gotTimeStamps ? toDelete.toMillis : System.currentTimeMillis();
    for (Map.Entry<String, List<Entry<Point, UntypedMetric>>> metric : toDelete.getValuesByMetricName().entrySet()) {
        LinkedHashMap<Point, TimeStampedMetric> cachedPoints = getCachedMetric(metric.getKey());

        for (Entry<Point, UntypedMetric> newestInterval : metric.getValue()) {
            // overwriting an existing entry does not update the order
            // in the map
            cachedPoints.remove(newestInterval.getKey());
            TimeStampedMetric toInsert = new TimeStampedMetric(millis, newestInterval.getValue());
            cachedPoints.put(newestInterval.getKey(), toInsert);
        }
    }
}
 
源代码5 项目: okapi   文件: ModuleManager.java
private boolean deleteCheckDep(String id, Handler<ExtendedAsyncResult<Void>> fut,
                               LinkedHashMap<String, ModuleDescriptor> mods) {

  if (!mods.containsKey(id)) {
    fut.handle(new Failure<>(ErrorType.NOT_FOUND, messages.getMessage("10207")));
    return true;
  }
  mods.remove(id);
  String res = DepResolution.checkAllDependencies(mods);
  if (!res.isEmpty()) {
    fut.handle(new Failure<>(ErrorType.USER, messages.getMessage("10208", id, res)));
    return true;
  } else {
    return false;
  }
}
 
源代码6 项目: mycore   文件: MCRSolrProxyServlet.java
/**
 * redirects to query handler by using xeditor input document
 */
private static void redirectToQueryHandler(Document input, HttpServletResponse resp)
    throws IOException, TransformerException, SAXException {
    LinkedHashMap<String, String[]> parameters = new LinkedHashMap<>();
    List<Element> children = input.getRootElement().getChildren();
    for (Element param : children) {
        String attribute = param.getAttributeValue("name");
        if (attribute != null) {
            parameters.put(attribute, new String[] { param.getTextTrim() });
        }
    }
    String queryHandlerPath = parameters.get(QUERY_HANDLER_PAR_NAME)[0];
    parameters.remove("qt");
    doRedirectToQueryHandler(resp, queryHandlerPath, parameters);
}
 
源代码7 项目: ctsms   文件: ArgsUriPart.java
public LinkedHashSet<NamedParameter> getNamedParameters(String resource, boolean excludeOverriden) throws Exception {
	LinkedHashMap<String, NamedParameter> namedParameters = new LinkedHashMap<String, NamedParameter>();
	Method method = getAnnotatedMethod(resource);
	if (method != null) {
		MethodParameterNames annotation = method.getAnnotation(MethodParameterNames.class);
		String[] parameterNames = null;
		if (annotation != null) {
			parameterNames = annotation.value();
		}
		Class<?>[] parameterTypes = method.getParameterTypes();
		if (parameterNames != null && parameterTypes != null) {
			for (int i = 0; i < parameterNames.length; i++) {
				namedParameters.put(parameterNames[i], new NamedParameter(parameterNames[i], parameterTypes[i]));
			}
		}
	}
	Iterator<Entry<String, Object>> it = defaults.entrySet().iterator();
	while (it.hasNext()) {
		Entry<String, Object> defaultParameter = it.next();
		if (!namedParameters.containsKey(defaultParameter.getKey())) {
			namedParameters.put(defaultParameter.getKey(), new NamedParameter(defaultParameter.getKey(), defaultParameter.getValue().getClass()));
		}
	}
	it = overrides.entrySet().iterator();
	while (it.hasNext()) {
		Entry<String, Object> overrideParameter = it.next();
		namedParameters.put(overrideParameter.getKey(), new NamedParameter(overrideParameter.getKey(), overrideParameter.getValue().getClass()));
	}
	if (excludeOverriden) {
		it = overrides.entrySet().iterator();
		while (it.hasNext()) {
			namedParameters.remove(it.next().getKey());
		}
	}
	return new LinkedHashSet<NamedParameter>(namedParameters.values());
}
 
源代码8 项目: sagacity-sqltoy   文件: PageOptimizeUtils.java
public static Long getPageTotalCount(final SqlToyConfig sqlToyConfig, String conditionsKey) {
	LinkedHashMap<String, Object[]> map = pageOptimizeCache.get(sqlToyConfig.getId());
	// sql初次执行查询
	if (null == map) {
		return null;
	}
	Object[] values = map.get(conditionsKey);
	// 为null表示条件初次查询或已经全部过期移除
	if (null == values)
		return null;
	// 总记录数
	Long totalCount = (Long) values[1];
	// 失效时间
	long expireTime = (Long) values[0];
	long nowTime = System.currentTimeMillis();

	// 先移除(为了调整排列顺序)
	map.remove(conditionsKey);
	// 超时,返回null表示需要重新查询,并不需要定时检测
	// 1、控制总记录数量,最早的始终会排在最前面,会最先排挤出去
	// 2、每次查询时相同的条件会自动检测是否过期,过期则会重新执行
	if (nowTime >= expireTime) {
		return null;
	}
	// 重置过期时间
	values[0] = nowTime + sqlToyConfig.getPageAliveSeconds() * 1000;
	// 重新置于linkedHashMap的最后位置
	map.put(conditionsKey, values);
	return totalCount;
}
 
源代码9 项目: sagacity-sqltoy   文件: PageOptimizeUtils.java
public static void registPageTotalCount(final SqlToyConfig sqlToyConfig, String pageQueryKey, Long totalCount) {
	long nowTime = System.currentTimeMillis();
	// 当前时间
	long expireTime = nowTime + sqlToyConfig.getPageAliveSeconds() * 1000;
	// 同一个分页查询sql保留的不同查询条件记录数量
	int aliveMax = sqlToyConfig.getPageAliveMax();
	LinkedHashMap<String, Object[]> map = pageOptimizeCache.get(sqlToyConfig.getId());
	if (null == map) {
		map = new LinkedHashMap<String, Object[]>(sqlToyConfig.getPageAliveMax());
		map.put(pageQueryKey, new Object[] { expireTime, totalCount });
		pageOptimizeCache.put(sqlToyConfig.getId(), map);
	} else {
		map.put(pageQueryKey, new Object[] { expireTime, totalCount });
		// 长度超阀值,移除最早进入的
		while (map.size() > aliveMax) {
			map.remove(map.keySet().iterator().next());
		}

		// 剔除过期数据
		Iterator<Map.Entry<String, Object[]>> iter = map.entrySet().iterator();
		Map.Entry<String, Object[]> entry;
		while (iter.hasNext()) {
			entry = iter.next();
			// 当前时间已经大于过期时间
			if (nowTime >= ((Long) entry.getValue()[0])) {
				iter.remove();
			} else {
				break;
			}
		}
	}
}
 
public ImmutableRowsIndex<T> replacingRows(
		@NonNull final DocumentIdsSelection oldRowIds,
		@NonNull final List<T> newRows)
{
	final LinkedHashMap<DocumentId, T> newRowsToAdd = newRows.stream()
			.collect(GuavaCollectors.toMapByKey(LinkedHashMap::new, IViewRow::getId));

	final ArrayList<T> resultRows = new ArrayList<>(rowIds.size());
	for (final DocumentId rowId : this.rowIds)
	{
		if (oldRowIds.contains(rowId))
		{
			final T newRowToAdd = newRowsToAdd.remove(rowId);
			if (newRowToAdd != null)
			{
				resultRows.add(newRowToAdd);
			}
		}
		else
		{
			resultRows.add(rowsById.get(rowId));
		}
	}

	resultRows.addAll(newRowsToAdd.values());

	return new ImmutableRowsIndex<>(this.initialRowIds, resultRows);
}
 
源代码11 项目: lucene-solr   文件: CommandOperation.java
/**
 * Get all the values from the metadata for the command
 * without the specified keys
 */
public Map<String, Object> getValuesExcluding(String... keys) {
  getMapVal(null);
  if (hasError()) return emptyMap();//just to verify the type is Map
  @SuppressWarnings("unchecked")
  LinkedHashMap<String, Object> cp = new LinkedHashMap<>((Map<String, Object>) commandData);
  if (keys == null) return cp;
  for (String key : keys) {
    cp.remove(key);
  }
  return cp;
}
 
源代码12 项目: lams   文件: BatchFetchQueue.java
/**
 * After a collection was initialized or evicted, we don't
 * need to batch fetch it anymore, remove it from the queue
 * if necessary
 */
public void removeBatchLoadableCollection(CollectionEntry ce) {
	LinkedHashMap<CollectionEntry, PersistentCollection> map =  batchLoadableCollections.get( ce.getLoadedPersister().getRole() );
	if ( map != null ) {
		map.remove( ce );
	}
}
 
源代码13 项目: dhis2-core   文件: NotificationMap.java
public void addSummary( JobConfiguration jobConfiguration, Object summary )
{
    LinkedHashMap<String, Object> summaries = summariesWithType.get( jobConfiguration.getJobType() );

    if ( summaries.size() >= MAX_POOL_TYPE_SIZE )
    {
        String key = (String) summaries.keySet().toArray()[0];
        summaries.remove( key );
    }

    summaries.put( jobConfiguration.getUid(), summary );
}
 
源代码14 项目: Dashchan   文件: CacheManager.java
private boolean isFileExistsInCache(File file, String fileName, int type) {
	if (waitCacheSync()) {
		return false;
	}
	LinkedHashMap<String, CacheItem> cacheItems = getCacheItems(type);
	synchronized (cacheItems) {
		CacheItem cacheItem = cacheItems.get(fileName.toLowerCase(Locale.US));
		if (cacheItem != null && !file.exists()) {
			cacheItems.remove(cacheItem.nameLc);
			modifyCacheSize(type, -cacheItem.length);
			cacheItem = null;
		}
		return cacheItem != null;
	}
}
 
源代码15 项目: birt   文件: ReportPlugin.java
public static LinkedHashMap<String, ResourceFilter> getFilterMap(
		boolean showEmptyFolderFilter )
{
	if ( !showEmptyFolderFilter )
	{
		LinkedHashMap map = (LinkedHashMap) filterMap.clone( );
		map.remove( ResourceFilter.FILTER_EMPTY_FOLDERS );
		return map;
	}
	else
		return filterMap;
}
 
源代码16 项目: uncode-dal-all   文件: AbstractTemplate.java
public String updateByCriteria(Table model) {
    model.resetQueryConditions();
    SQL sql = new SQL();
    sql.UPDATE(ColumnWrapperUtils.wrap(model.getTableName()));
    LinkedHashMap<String, Object> params = model.getParams();
    if(params != null){
        Iterator<String> iter = params.keySet().iterator();
        while(iter.hasNext()){
            String key = iter.next();
            if(!model.getPrimaryKey().getFields().contains(key.toLowerCase())){
            	if(null == params.get(key)){
            		sql.SET(key + " = null");
            	}else{
            		String vstr = String.valueOf(params.get(key)).trim();
            		if(vstr.startsWith("=")){
            			sql.SET(ColumnWrapperUtils.wrap(key) + params.get(key));
            			params.remove(key);
            		}else{
            			sql.SET(buildSingleParamSql(FieldSqlGenerator.PARAM_PREFIX, key, model, "="));
            		}
            	}
            }
        }
    }
    if(model.hasVersion()){
    	sql.SET(VersionWrapperUtils.wrapSetSql(model.getVersion()));
    }
    QueryCriteria queryCriteria = model.getQueryCriteria();
    String indexName = null;
    if(queryCriteria.getOredCriteria() != null && queryCriteria.getOredCriteria().size() > 0){
    	indexName = caculationQueryCriteria(sql, model);
    }
    if(model.hasVersion()){
    	Object value = queryCriteria.getVersion();
    	if(null == value){
    		throw new DalSqlException("Version is request.");
    	}
    	sql.AND();
    	sql.WHERE(VersionWrapperUtils.wrapWhereSql(model.getVersion(), value));
    }
    model.resetQueryCriteria();
    LOG.debug(sql.toString());
    if(LOG.isDebugEnabled()){
    	if(StringUtils.isNotEmpty(indexName)){
    		LOG.debug("命中索引:"+indexName+model.getContent().getIndexs().get(indexName));
    	}else{
    		LOG.debug("命中索引:无");
    	}
    }
    return sql.toString();  
}
 
源代码17 项目: chipster   文件: SocketFactoryCache.java
private void removeLast(LinkedHashMap<?, ?> map) {
	map.remove(map.keySet().toArray()[map.size() - 1]);
}
 
private static LinkedHashMap<String,HashMap<String, ArrayList<EncodeNarrowPeak>>> readMultipleTfbsInformation(String inputFolderTfbsData) throws IOException {
        LinkedHashMap<String,HashMap<String, ArrayList<EncodeNarrowPeak>>> data = new LinkedHashMap<>();
        File file = new File(inputFolderTfbsData);
        File[] files = file.listFiles();
        ArrayList<String> vecFiles = new ArrayList<>();
        for (File f : files) {
//            System.out.println(f.getAbsolutePath());
            vecFiles.add(f.getAbsolutePath());
        }
        
        for (String fileToRead : vecFiles) {
            TextFile reader = new TextFile(fileToRead, TextFile.R);
            
            String[] storingInformation = fileToRead.split("_");
//            String cellLine = storingInformation[1].replace("TFBS\\","");
            String transcriptionFactor = storingInformation[2].replace(".narrowPeak","");
            if(storingInformation.length>4){
                for(int i=3;i<(storingInformation.length-1);++i){
                    transcriptionFactor = transcriptionFactor +"_"+storingInformation[i].replace(".narrowPeak","");
                }
            }
            
            String row;
            while((row=reader.readLine())!=null){

                String[] parts = StringUtils.split(row, '\t');
                if(!data.containsKey(transcriptionFactor)){
                    data.put(transcriptionFactor, new HashMap<String, ArrayList<EncodeNarrowPeak>>());
                }
                if(!data.get(transcriptionFactor).containsKey(parts[0])){
                    data.get(transcriptionFactor).put(parts[0], new ArrayList<EncodeNarrowPeak>());
                }
                data.get(transcriptionFactor).get(parts[0]).add(new EncodeNarrowPeak(parts, fileToRead));
            }

            reader.close();
        
        }
        ArrayList<String> cleanList = new ArrayList<>();
        for(Entry<String,HashMap<String, ArrayList<EncodeNarrowPeak>>> tfInformation : data.entrySet()){
            System.out.println("Transcription factor: "+tfInformation.getKey());
            int counter = 0;
            for(Entry<String, ArrayList<EncodeNarrowPeak>> tfEntry : tfInformation.getValue().entrySet()){
                Collections.sort(tfEntry.getValue());
                counter+=tfEntry.getValue().size();
            }
            System.out.println("\tcontacts: "+counter);
            
            //remove all with less than 750 contacts
//            if(counter<750){
//                cleanList.add(tfInformation.getKey());
//            }
        }
        
        for(String k : cleanList){
            data.remove(k);
        }
        
        return data;
    }
 
@Override
	public void actionPerformed(AnActionEvent e) {
		LOG.info("actionPerformed GenerateLexerRulesForLiteralsAction");
		final Project project = e.getProject();

		final PsiFile psiFile = e.getData(LangDataKeys.PSI_FILE);
		if (psiFile == null) {
			return;
		}
		String inputText = psiFile.getText();
		ParsingResult results = ParsingUtils.parseANTLRGrammar(inputText);

		final Parser parser = results.parser;
		final ParseTree tree = results.tree;
		Collection<ParseTree> literalNodes = XPath.findAll(tree, "//ruleBlock//STRING_LITERAL", parser);
		LinkedHashMap<String, String> lexerRules = new LinkedHashMap<String, String>();
		for (ParseTree node : literalNodes) {
			String literal = node.getText();
			String ruleText = String.format("%s : %s ;",
											RefactorUtils.getLexerRuleNameFromLiteral(literal), literal);
			lexerRules.put(literal, ruleText);
		}

		// remove those already defined
		String lexerRulesXPath = "//lexerRule";
		String treePattern = "<TOKEN_REF> : <STRING_LITERAL>;";
		ParseTreePattern p = parser.compileParseTreePattern(treePattern, ANTLRv4Parser.RULE_lexerRule);
		List<ParseTreeMatch> matches = p.findAll(tree, lexerRulesXPath);

		for (ParseTreeMatch match : matches) {
			ParseTree lit = match.get("STRING_LITERAL");
			if (lexerRules.containsKey(lit.getText())) { // we have rule for this literal already
				lexerRules.remove(lit.getText());
			}
		}

		final LiteralChooser chooser =
			new LiteralChooser(project, new ArrayList<String>(lexerRules.values()));
		chooser.show();
		List<String> selectedElements = chooser.getSelectedElements();
		// chooser disposed automatically.

		final Editor editor = e.getData(PlatformDataKeys.EDITOR);
		final Document doc = editor.getDocument();
		final CommonTokenStream tokens = (CommonTokenStream) parser.getTokenStream();
//		System.out.println(selectedElements);
		if (selectedElements != null) {
			String text = doc.getText();
			int cursorOffset = editor.getCaretModel().getOffset();
			// make sure it's not in middle of rule; put between.
//					System.out.println("offset "+cursorOffset);
			Collection<ParseTree> allRuleNodes = XPath.findAll(tree, "//ruleSpec", parser);
			for (ParseTree r : allRuleNodes) {
				Interval extent = r.getSourceInterval(); // token indexes
				int start = tokens.get(extent.a).getStartIndex();
				int stop = tokens.get(extent.b).getStopIndex();
//						System.out.println("rule "+r.getChild(0).getText()+": "+start+".."+stop);
				if (cursorOffset < start) {
					// before this rule, so must be between previous and this one
					cursorOffset = start; // put right before this rule
					break;
				}
				else if (cursorOffset >= start && cursorOffset <= stop) {
					// cursor in this rule
					cursorOffset = stop + 2; // put right before this rule (after newline)
					if (cursorOffset >= text.length()) {
						cursorOffset = text.length();
					}
					break;
				}
			}

			String allRules = Utils.join(selectedElements.iterator(), "\n");
			text =
				text.substring(0, cursorOffset) +
					"\n" + allRules + "\n" +
					text.substring(cursorOffset, text.length());
			MyPsiUtils.replacePsiFileFromText(project, psiFile, text);
		}
	}
 
private void doFlushDB(boolean shutdown) {
    DispatchRequestCollections requests = dispatchRequestBufferQueue.poll();
    if (requests == null) {
        return;
    }
    if (!shutdown) {
        putEmptyRequestList();
    }
    boolean addSuccess = false, removeSuccess = false;
    LinkedHashMap<Long, TransactionRecord> prepareTrs = null;
    LinkedHashMap<Long, Void> confirmTrs = null;
    while (true) {
        if (requests.latch.get() != requests.requestlist.size() && requests.latch.get() > 0) {
            continue;
        }
        requests.latch.set(Integer.MIN_VALUE);

        if (requests.requestlist.size() == 0) {
            break;
        }
        try {
            long transactionOffset = -1L;
            //数据处理
            if (prepareTrs == null && confirmTrs == null) {
                prepareTrs = new LinkedHashMap<Long, TransactionRecord>();
                confirmTrs = new LinkedHashMap<Long, Void>();
                for (DispatchRequest request : requests.requestlist) {
                    final int tranType = MessageSysFlag.getTransactionValue(request.getSysFlag());
                    switch (tranType) {
                        case MessageSysFlag.TRANSACTION_NOT_TYPE:
                            break;
                        case MessageSysFlag.TRANSACTION_PREPARED_TYPE:
                            if (this.maxTransOffset.get() < request.getCommitLogOffset()) {
                                prepareTrs.put(request.getCommitLogOffset(), new TransactionRecord(request.getCommitLogOffset(),
                                        request.getCheckImmunityTimeOutTimestamp(), request.getMsgSize(), request.getProducerGroup()));
                                this.maxTransOffset.set(request.getCommitLogOffset());
                            } else {
                                log.info("[PREPARED] request ignore offset =" + request.getCommitLogOffset());
                            }
                            if (request.getPreparedTransactionOffset() == 0L) {
                                break;
                            }
                        case MessageSysFlag.TRANSACTION_COMMIT_TYPE:
                        case MessageSysFlag.TRANSACTION_ROLLBACK_TYPE:
                            if (this.maxTransOffset.get() < request.getCommitLogOffset()) {
                                if (prepareTrs.containsKey(request.getPreparedTransactionOffset())) {
                                    prepareTrs.remove(request.getPreparedTransactionOffset());
                                } else {
                                    confirmTrs.put(request.getPreparedTransactionOffset(), null);
                                }
                            } else {
                                log.info("[COMMIT] request ignore offset =" + request.getCommitLogOffset()
                                        + ",isCommitMessge=" + (tranType == MessageSysFlag.TRANSACTION_COMMIT_TYPE));
                            }
                            break;
                    }
                }
                transactionOffset = requests.requestlist.get(requests.requestlist.size() - 1).getCommitLogOffset();
            }

            long startTime = System.currentTimeMillis();
            addSuccess = addSuccess || transactionStore.parpare(new ArrayList<>(prepareTrs.values()));
            if (addSuccess && (removeSuccess = transactionStore.confirm(new ArrayList<>(confirmTrs.keySet())))) {
                log.info("pull TransactionRecord consume {}ms ,size={},realParpareSize={},realConfirmSize:{}",
                        (System.currentTimeMillis() - startTime), requests.requestlist.size(), prepareTrs.size(), confirmTrs.size());
                //更新最新的offset
                if (transactionOffset > 0) {
                    transactionOffsetConifgService.putOffset(transactionOffset);
                }
                break;
            }
        } catch (Throwable e) {
            log.error("transactionStore error:", e);
            ThreadUtils.sleep(2000);
        } finally {
            if (addSuccess && removeSuccess) {
                flowController.release(requests.requestlist.size());
            }
        }
    }
}