當前位置: 首頁>>代碼示例>>Java>>正文


Java TreeMap.lastKey方法代碼示例

本文整理匯總了Java中java.util.TreeMap.lastKey方法的典型用法代碼示例。如果您正苦於以下問題:Java TreeMap.lastKey方法的具體用法?Java TreeMap.lastKey怎麽用?Java TreeMap.lastKey使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在java.util.TreeMap的用法示例。


在下文中一共展示了TreeMap.lastKey方法的14個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的Java代碼示例。

示例1: convert

import java.util.TreeMap; //導入方法依賴的package包/類
/**
 * Convert settings from the internal representation to the string representation used in the
 * preference storage.
 *
 * @param settings
 *         The map of settings to convert.
 * @param settingDescriptions
 *         The structure containing the {@link SettingsDescription} objects that will be used
 *         to convert the setting values.
 *
 * @return The settings converted to the string representation used in the preference storage.
 */
public static Map<String, String> convert(Map<String, Object> settings,
        Map<String, TreeMap<Integer, SettingsDescription>> settingDescriptions) {
    Map<String, String> serializedSettings = new HashMap<>();

    for (Entry<String, Object> setting : settings.entrySet()) {
        String settingName = setting.getKey();
        Object internalValue = setting.getValue();

        TreeMap<Integer, SettingsDescription> versionedSetting = settingDescriptions.get(settingName);
        Integer highestVersion = versionedSetting.lastKey();
        SettingsDescription settingDesc = versionedSetting.get(highestVersion);

        if (settingDesc != null) {
            String stringValue = settingDesc.toString(internalValue);

            serializedSettings.put(settingName, stringValue);
        } else {
            Timber.w("Settings.convert() called with a setting that should have been removed: %s", settingName);
        }
    }

    return serializedSettings;
}
 
開發者ID:philipwhiuk,項目名稱:q-mail,代碼行數:36,代碼來源:Settings.java

示例2: testLastKey

import java.util.TreeMap; //導入方法依賴的package包/類
public void testLastKey()
{
	// create two random treemaps and retrieve their last keys
	TreeMap<Integer,Integer> tree1 = TreeMapFactory.getTree(TreeMapFactory.SIZE/2);
	Comparable<Integer> lastkey1 = (Comparable<Integer>)tree1.lastKey();
	
	TreeMap<Integer,Integer> tree2 = TreeMapFactory.getTree(TreeMapFactory.SIZE/2);
	Comparable<Integer> lastkey2 = (Comparable<Integer>)tree2.lastKey();
	
	// join them together and check the last key is correct
	tree1.putAll(tree2);
	
	if (lastkey1.compareTo((Integer)lastkey2) >= 0)
	{
		assertEquals(lastkey1, tree1.lastKey());
	}
	else
	{
		assertEquals(lastkey2, tree1.lastKey());
	}
	
	// put the largest Integer in and see if it's the last key
	tree1.put(new Integer(Integer.MAX_VALUE), null);
	assertEquals(new Integer(Integer.MAX_VALUE), tree1.lastKey());
}
 
開發者ID:AdoptOpenJDK,項目名稱:openjdk-systemtest,代碼行數:26,代碼來源:TreeMapAPITest.java

示例3: isColumnModifiable

import java.util.TreeMap; //導入方法依賴的package包/類
/**
 * Checks if column is modifiable.
 * 
 * @param groupSelectionMap
 *            the group selection map
 * @param selectionList
 *            the selection list
 * @return true, if is column modifiable
 */
public boolean isColumnModifiable(TreeMap<Integer,List<List<Integer>>> groupSelectionMap,List<Integer> selectionList){
	boolean retValue = false;
	for(int i=groupSelectionMap.lastKey();i>=0;i--){
		retValue=true;
		List<List<Integer>> groups = new ArrayList<>(groupSelectionMap.get(i));
		for (List<Integer> grp : groups) {
			if (ListUtils.intersection(selectionList, grp).size()>0) {
				retValue=false;
			}
	    }
	
		if(retValue){
			groupSelectionMap.get(i).add(selectionList);
			break;
		}
	}
	return retValue;
}
 
開發者ID:capitalone,項目名稱:Hydrograph,代碼行數:28,代碼來源:FilterHelper.java

示例4: rearrangeGroups

import java.util.TreeMap; //導入方法依賴的package包/類
/**
 * Rearrange groups.
 * 
 * @param groupSelectionMap
 *            the group selection map
 * @param selectionList
 *            the selection list
 */
public void rearrangeGroups(TreeMap<Integer, List<List<Integer>>> groupSelectionMap,List<Integer> selectionList) {
	List<Integer> tempList = new ArrayList<>();
	int lastKey=groupSelectionMap.lastKey();
	for (int i = lastKey; i >= 0; i--) {
		List<List<Integer>> groups =groupSelectionMap.get(i);
		for (int j=0; j<=groups.size()-1;j++) {
			if (selectionList.size()< groups.get(j).size()&& 
					ListUtils.intersection(selectionList, groups.get(j)).size() > 0) {
				tempList.addAll(groups.get(j));
				groups.get(j).clear();
				groups.set(j,new ArrayList<Integer>(selectionList));					
				selectionList.clear();
				selectionList.addAll(tempList);
			}
			tempList.clear();
		}
	}
}
 
開發者ID:capitalone,項目名稱:Hydrograph,代碼行數:27,代碼來源:FilterHelper.java

示例5: rearrangeGroupsAfterDeleteRow

import java.util.TreeMap; //導入方法依賴的package包/類
/**
 * Rearrange groups after delete row.
 * 
 * @param groupSelectionMap
 *            the group selection map
 * @param selectionList
 *            the selection list
 * @return true, if successful
 */
public boolean rearrangeGroupsAfterDeleteRow(TreeMap<Integer, List<List<Integer>>> groupSelectionMap,
		List<Integer> selectionList) {
	boolean retValue = false;
	int lastKey = groupSelectionMap.lastKey();
	int count = 0;
	for (int i = lastKey; i >= 0; i--) {
		List<List<Integer>> groups = groupSelectionMap.get(i);
		for (int j = 0; j <= groups.size() - 1; j++) {
			if (selectionList.size() == groups.get(j).size() && ListUtils.isEqualList(selectionList, groups.get(j))) {
				count++;
				if (count >= 2) {
					retValue = true;
				}
			}
		}
	}
	return retValue;
}
 
開發者ID:capitalone,項目名稱:Hydrograph,代碼行數:28,代碼來源:FilterHelper.java

示例6: LinkDocHandler

import java.util.TreeMap; //導入方法依賴的package包/類
/**
 * コンストラクタ.
 * @param srcHandler OEntityDocHandler
 * @param tgtHandler OEntityDocHandler
 */
public LinkDocHandler(final EntitySetDocHandler srcHandler, final EntitySetDocHandler tgtHandler) {
    this.cellId = srcHandler.getCellId();
    this.boxId = srcHandler.getBoxId();
    this.nodeId = srcHandler.getNodeId();
    String srcType = srcHandler.getType();
    String srcId = srcHandler.getId();
    String tgtType = tgtHandler.getType();
    String tgtId = tgtHandler.getId();

    // ES 保存時の一意キー作成
    TreeMap<String, String> tm = new TreeMap<String, String>();
    tm.put(srcType, srcId);
    tm.put(tgtType, tgtId);

    this.ent1Type = tm.firstKey();
    this.ent2Type = tm.lastKey();
    this.ent1Key = tm.get(ent1Type);
    this.ent2Key = tm.get(ent2Type);
    this.id = this.createLinkId();
    long dateTime = new Date().getTime();
    this.published = dateTime;
    this.updated = dateTime;
}
 
開發者ID:personium,項目名稱:personium-core,代碼行數:29,代碼來源:LinkDocHandler.java

示例7: NtoNQueryParameter

import java.util.TreeMap; //導入方法依賴的package包/類
/**
 * コンストラクタ.
 * @param srcHandler OEntityDocHandler
 * @param targetSetName ターゲット側のEntitySet名
 * @param targetEntityTypeId ターゲット側のEntityTypeID
 */
public NtoNQueryParameter(
        final EntitySetDocHandler srcHandler,
        final String targetSetName,
        final String targetEntityTypeId) {
    String srcSetName = srcHandler.getType();
    String srcId = srcHandler.getId();

    TreeMap<String, String> tm = new TreeMap<String, String>();
    if (srcSetName.equals(UserDataODataProducer.USER_ODATA_NAMESPACE)) {
        tm.put(srcHandler.getEntityTypeId(), srcId);
        tm.put(targetEntityTypeId, "");
    } else {
        tm.put(srcSetName, srcId);
        tm.put(targetSetName, "");
    }
    this.t1 = tm.firstKey();
    this.t2 = tm.lastKey();
    this.k1 = tm.get(t1);
    this.k2 = tm.get(t2);
}
 
開發者ID:personium,項目名稱:personium-core,代碼行數:27,代碼來源:LinkDocHandler.java

示例8: toArray

import java.util.TreeMap; //導入方法依賴的package包/類
@SuppressWarnings("unchecked")
public static Class<? extends Packet>[] toArray(Stream<Class<? extends Packet>> packets) {
    TreeMap<Integer, Class<? extends Packet>> map = new TreeMap<>();

    packets.forEach(packet -> {
        PacketInfo info = packet.getAnnotation(PacketInfo.class);
        map.put(info.id(), packet);
    });

    if (map.size() == 0) {
        return new Class[0];
    }

    Class<? extends Packet>[] array = new Class[map.lastKey() + 1];
    map.forEach((id, packet) -> array[id] = packet);

    return array;
}
 
開發者ID:dzikoysk,項目名稱:UnknownPandaServer,代碼行數:19,代碼來源:ProtocolLoaderUtils.java

示例9: writeSettings

import java.util.TreeMap; //導入方法依賴的package包/類
private static void writeSettings(XmlSerializer serializer, Map<String, Object> prefs) throws IOException {

        for (Entry<String, TreeMap<Integer, SettingsDescription>> versionedSetting :
                GlobalSettings.SETTINGS.entrySet()) {

            String key = versionedSetting.getKey();
            String valueString = (String) prefs.get(key);
            TreeMap<Integer, SettingsDescription> versions = versionedSetting.getValue();
            Integer highestVersion = versions.lastKey();
            SettingsDescription setting = versions.get(highestVersion);
            if (setting == null) {
                // Setting was removed.
                continue;
            }

            if (valueString != null) {
                try {
                    writeKeyAndPrettyValueFromSetting(serializer, key, setting, valueString);
                } catch (InvalidSettingValueException e) {
                    Timber.w("Global setting \"%s\" has invalid value \"%s\" in preference storage. " +
                            "This shouldn't happen!", key, valueString);
                }
            } else {
                Timber.d("Couldn't find key \"%s\" in preference storage. Using default value.", key);
                writeKeyAndDefaultValueFromSetting(serializer, key, setting);
            }
        }
    }
 
開發者ID:philipwhiuk,項目名稱:q-mail,代碼行數:29,代碼來源:SettingsExporter.java

示例10: upgradeSettingsGeneric

import java.util.TreeMap; //導入方法依賴的package包/類
private static Set<String> upgradeSettingsGeneric(Map<String, TreeMap<Integer, SettingsDescription>> settings,
        Map<String, Object> validatedSettingsMutable, Set<String> deletedSettingsMutable, int toVersion) {
    for (Entry<String, TreeMap<Integer, SettingsDescription>> versions : settings.entrySet()) {
        String settingName = versions.getKey();
        TreeMap<Integer, SettingsDescription> versionedSettings = versions.getValue();

        boolean isNewlyAddedSetting = versionedSettings.firstKey() == toVersion;
        if (isNewlyAddedSetting) {
            boolean wasHandledByCustomUpgrader = validatedSettingsMutable.containsKey(settingName);
            if (wasHandledByCustomUpgrader) {
                continue;
            }

            SettingsDescription setting = versionedSettings.get(toVersion);
            if (setting == null) {
                throw new AssertionError("First version of a setting must be non-null!");
            }
            upgradeSettingInsertDefault(validatedSettingsMutable, settingName, setting);
        }

        Integer highestVersion = versionedSettings.lastKey();
        boolean isRemovedSetting = (highestVersion == toVersion && versionedSettings.get(highestVersion) == null);
        if (isRemovedSetting) {
            if (deletedSettingsMutable == null) {
                deletedSettingsMutable = new HashSet<>();
            }
            upgradeSettingRemove(validatedSettingsMutable, deletedSettingsMutable, settingName);
        }
    }
    return deletedSettingsMutable;
}
 
開發者ID:philipwhiuk,項目名稱:q-mail,代碼行數:32,代碼來源:Settings.java

示例11: writeIdentity

import java.util.TreeMap; //導入方法依賴的package包/類
private static void writeIdentity(XmlSerializer serializer, String accountUuid, String identity,
        Map<String, Object> prefs) throws IOException {

    serializer.startTag(null, IDENTITY_ELEMENT);

    String prefix = accountUuid + ".";
    String suffix = "." + identity;

    // Write name belonging to the identity
    String name = (String) prefs.get(prefix + Account.IDENTITY_NAME_KEY + suffix);
    serializer.startTag(null, NAME_ELEMENT);
    serializer.text(name);
    serializer.endTag(null, NAME_ELEMENT);

    // Write email address belonging to the identity
    String email = (String) prefs.get(prefix + Account.IDENTITY_EMAIL_KEY + suffix);
    serializer.startTag(null, EMAIL_ELEMENT);
    serializer.text(email);
    serializer.endTag(null, EMAIL_ELEMENT);

    // Write identity description
    String description = (String) prefs.get(prefix + Account.IDENTITY_DESCRIPTION_KEY + suffix);
    if (description != null) {
        serializer.startTag(null, DESCRIPTION_ELEMENT);
        serializer.text(description);
        serializer.endTag(null, DESCRIPTION_ELEMENT);
    }

    // Write identity settings
    serializer.startTag(null, SETTINGS_ELEMENT);
    for (Map.Entry<String, Object> entry : prefs.entrySet()) {
        String key = entry.getKey();
        String valueString = entry.getValue().toString();
        String[] comps = key.split("\\.");

        if (comps.length < 3) {
            // Skip non-identity config entries
            continue;
        }

        String keyUuid = comps[0];
        String identityKey = comps[1];
        String identityIndex = comps[2];
        if (!keyUuid.equals(accountUuid) || !identityIndex.equals(identity)) {
            // Skip entries that belong to another identity
            continue;
        }

        TreeMap<Integer, SettingsDescription> versionedSetting = IdentitySettings.SETTINGS.get(identityKey);

        if (versionedSetting != null) {
            Integer highestVersion = versionedSetting.lastKey();
            SettingsDescription setting = versionedSetting.get(highestVersion);

            if (setting != null) {
                // Only write settings that have an entry in IdentitySettings.SETTINGS
                try {
                    writeKeyAndPrettyValueFromSetting(serializer, identityKey, setting, valueString);
                } catch (InvalidSettingValueException e) {
                    Timber.w("Identity setting \"%s\" has invalid value \"%s\" in preference storage. " +
                            "This shouldn't happen!", identityKey, valueString);
                }
            }
        }
    }
    serializer.endTag(null, SETTINGS_ELEMENT);

    serializer.endTag(null, IDENTITY_ELEMENT);
}
 
開發者ID:philipwhiuk,項目名稱:q-mail,代碼行數:70,代碼來源:SettingsExporter.java

示例12: writeFolder

import java.util.TreeMap; //導入方法依賴的package包/類
private static void writeFolder(XmlSerializer serializer, String accountUuid, String folder,
        Map<String, Object> prefs) throws IOException {

    serializer.startTag(null, FOLDER_ELEMENT);
    serializer.attribute(null, NAME_ATTRIBUTE, folder);

    // Write folder settings
    for (Map.Entry<String, Object> entry : prefs.entrySet()) {
        String key = entry.getKey();
        String valueString = entry.getValue().toString();
        int indexOfFirstDot = key.indexOf('.');
        int indexOfLastDot = key.lastIndexOf('.');

        if (indexOfFirstDot == -1 || indexOfLastDot == -1 || indexOfFirstDot == indexOfLastDot) {
            // Skip non-folder config entries
            continue;
        }

        String keyUuid = key.substring(0, indexOfFirstDot);
        String folderName = key.substring(indexOfFirstDot + 1, indexOfLastDot);
        String folderKey = key.substring(indexOfLastDot + 1);

        if (!keyUuid.equals(accountUuid) || !folderName.equals(folder)) {
            // Skip entries that belong to another folder
            continue;
        }

        TreeMap<Integer, SettingsDescription> versionedSetting = FolderSettings.SETTINGS.get(folderKey);

        if (versionedSetting != null) {
            Integer highestVersion = versionedSetting.lastKey();
            SettingsDescription setting = versionedSetting.get(highestVersion);

            if (setting != null) {
                // Only write settings that have an entry in FolderSettings.SETTINGS
                try {
                    writeKeyAndPrettyValueFromSetting(serializer, folderKey, setting, valueString);
                } catch (InvalidSettingValueException e) {
                    Timber.w("Folder setting \"%s\" has invalid value \"%s\" in preference storage. " +
                            "This shouldn't happen!", folderKey, valueString);
                }
            }
        }
    }

    serializer.endTag(null, FOLDER_ELEMENT);
}
 
開發者ID:philipwhiuk,項目名稱:q-mail,代碼行數:48,代碼來源:SettingsExporter.java

示例13: getInstantValue

import java.util.TreeMap; //導入方法依賴的package包/類
public final double getInstantValue(String key, long time, String newVal) {

        TreeMap<Long, String> h = null;
        if (!lastValues.containsKey(key)) {
            h = new TreeMap<Long, String>();
            lastValues.put(key, h);
        } else
            h = lastValues.get(key);
        if (h.size() == 0) {
            h.put(time, newVal);
            return 0D;
        }
        if (h.size() == 2)
            h.remove(h.firstKey());
        h.put(time, newVal);
        long first = h.firstKey();
        long last = h.lastKey();
        String s1 = h.get(first);
        String s2 = h.get(last);
        double d = 0D;
        try {
            d = Double.parseDouble(diffWithOverflowCheck(s2, s1));
        } catch (Throwable t) {
            d = 0D;
        }
        d = d / ((last - first) / 1000D);
        return d;


//		TreeMap<Long, String> h = null;
//		if (!lastValues.containsKey(key)) {
//			h = new TreeMap<Long, String>();
//			lastValues.put(key, h);
//		} else
//			h = lastValues.get(key);
//		h.put(time, newVal);
//		if (h.size() == 1) return 0D;
//		long first = h.firstKey();
//		long last = h.lastKey();
//		String s1 = h.get(first);
//		String s2 = h.get(last);
//		double d = 0D;
//		try {
//			d = Double.parseDouble(diffWithOverflowCheck(s2, s1));
//		} catch (Throwable t) {
//			d = 0D;
//		}
//		d = d / ((last - first) / 1000D);
//		long diffTime = 60 * 1000;
//		if (properties != null)
//			diffTime = properties.geti("stat.interval", 60, "The interval to consider when computing the instant values") * 1000;
//		if (diffTime <= 0) diffTime = 60 * 1000;
//		if ((last - first) < diffTime) {
//			h.clear();
//			h.put(first, s1);
//			h.put(last, s2);
//		} else {
//			long inner = last - diffTime;
//			String ss = diffWithOverflowCheck(s2, s1);
//			double dd = 0D;
//			try { dd = Double.parseDouble(ss); } catch (Throwable t) { dd = 0D; }
//			dd = dd * (inner - first) / (last - first);
//			h.clear();
//			h.put(inner, addWithOverflowCheck(s1, ""+dd));
//			h.put(last, s2);
//		}
//		return d;
    }
 
開發者ID:fast-data-transfer,項目名稱:fdt,代碼行數:69,代碼來源:StatisticsHandler.java

示例14: refreshGroupSelections

import java.util.TreeMap; //導入方法依賴的package包/類
/**
 * Refresh group selections.
 * 
 * @param tableViewer
 *            the table viewer
 * @param indexOfRow
 *            the index of row
 * @param addOrDeleteRow
 *            the add or delete row
 * @param groupSelectionMap
 *            the group selection map
 * @return true, if successful
 */
public boolean refreshGroupSelections(TableViewer tableViewer, int indexOfRow,String addOrDeleteRow,
	TreeMap<Integer,List<List<Integer>>> groupSelectionMap){
	boolean isRemoveColumn = false;
	for(int key:groupSelectionMap.keySet()){
		List<List<Integer>> groups = groupSelectionMap.get(key);
		boolean isNewIndexAddedorRemoved=false;
		for (List<Integer> grp : groups) {
			List<Integer> tempGrp= new ArrayList<>(grp);
			if("ADD".equalsIgnoreCase(addOrDeleteRow)){
				for (int i = 0; i < grp.size(); i++) {
					if(grp.get(i)>=indexOfRow){
						grp.set(i, grp.get(i) + 1);
					}
				}
				if(tempGrp.contains(indexOfRow)){
					if(!isNewIndexAddedorRemoved && tempGrp.get(0)!=indexOfRow){//other than starting index then add row.
						grp.add(tempGrp.indexOf(indexOfRow),indexOfRow);
						isNewIndexAddedorRemoved=true;
					}
				}
			}else if("DEL".equalsIgnoreCase(addOrDeleteRow)){
				if(tempGrp.contains(indexOfRow)){
					if(!isNewIndexAddedorRemoved){//other than starting index then add row.
						grp.remove(grp.indexOf(indexOfRow));
						if(grp.size()==1){
							grp.clear();
						}
						if(rearrangeGroupsAfterDeleteRow(groupSelectionMap, grp)&& groupSelectionMap.lastKey()!=key){
							grp.clear();
						}
						List tempList=new ArrayList<>(); 
						for (List lst : groupSelectionMap.get(key)) {
							tempList.addAll(lst);
						}
						if(tempList.isEmpty()){
							isRemoveColumn=true;
						}
					}
					isNewIndexAddedorRemoved=true;
				}
				for (int i = 0; i < grp.size(); i++) {
					if(grp.get(i)>=indexOfRow){
						grp.set(i, grp.get(i) -1);
					}
				}
			}
			tempGrp.clear();	
		}
	}
	return isRemoveColumn;
}
 
開發者ID:capitalone,項目名稱:Hydrograph,代碼行數:65,代碼來源:FilterHelper.java


注:本文中的java.util.TreeMap.lastKey方法示例由純淨天空整理自Github/MSDocs等開源代碼及文檔管理平台,相關代碼片段篩選自各路編程大神貢獻的開源項目,源碼版權歸原作者所有,傳播和使用請參考對應項目的License;未經允許,請勿轉載。