当前位置: 首页>>代码示例>>Java>>正文


Java ConcurrentSkipListMap.subMap方法代码示例

本文整理汇总了Java中java.util.concurrent.ConcurrentSkipListMap.subMap方法的典型用法代码示例。如果您正苦于以下问题:Java ConcurrentSkipListMap.subMap方法的具体用法?Java ConcurrentSkipListMap.subMap怎么用?Java ConcurrentSkipListMap.subMap使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在java.util.concurrent.ConcurrentSkipListMap的用法示例。


在下文中一共展示了ConcurrentSkipListMap.subMap方法的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。

示例1: testSubMapContents

import java.util.concurrent.ConcurrentSkipListMap; //导入方法依赖的package包/类
/**
 * subMap returns map with keys in requested range
 */
public void testSubMapContents() {
    ConcurrentSkipListMap map = map5();
    NavigableMap sm = map.subMap(two, true, four, false);
    assertEquals(two, sm.firstKey());
    assertEquals(three, sm.lastKey());
    assertEquals(2, sm.size());
    assertFalse(sm.containsKey(one));
    assertTrue(sm.containsKey(two));
    assertTrue(sm.containsKey(three));
    assertFalse(sm.containsKey(four));
    assertFalse(sm.containsKey(five));
    Iterator i = sm.keySet().iterator();
    Object k;
    k = (Integer)(i.next());
    assertEquals(two, k);
    k = (Integer)(i.next());
    assertEquals(three, k);
    assertFalse(i.hasNext());
    Iterator r = sm.descendingKeySet().iterator();
    k = (Integer)(r.next());
    assertEquals(three, k);
    k = (Integer)(r.next());
    assertEquals(two, k);
    assertFalse(r.hasNext());

    Iterator j = sm.keySet().iterator();
    j.next();
    j.remove();
    assertFalse(map.containsKey(two));
    assertEquals(4, map.size());
    assertEquals(1, sm.size());
    assertEquals(three, sm.firstKey());
    assertEquals(three, sm.lastKey());
    assertEquals("C", sm.remove(three));
    assertTrue(sm.isEmpty());
    assertEquals(3, map.size());
}
 
开发者ID:AdoptOpenJDK,项目名称:openjdk-jdk10,代码行数:41,代码来源:ConcurrentSkipListMapTest.java

示例2: testSubMapContents2

import java.util.concurrent.ConcurrentSkipListMap; //导入方法依赖的package包/类
public void testSubMapContents2() {
    ConcurrentSkipListMap map = map5();
    NavigableMap sm = map.subMap(two, true, three, false);
    assertEquals(1, sm.size());
    assertEquals(two, sm.firstKey());
    assertEquals(two, sm.lastKey());
    assertFalse(sm.containsKey(one));
    assertTrue(sm.containsKey(two));
    assertFalse(sm.containsKey(three));
    assertFalse(sm.containsKey(four));
    assertFalse(sm.containsKey(five));
    Iterator i = sm.keySet().iterator();
    Object k;
    k = (Integer)(i.next());
    assertEquals(two, k);
    assertFalse(i.hasNext());
    Iterator r = sm.descendingKeySet().iterator();
    k = (Integer)(r.next());
    assertEquals(two, k);
    assertFalse(r.hasNext());

    Iterator j = sm.keySet().iterator();
    j.next();
    j.remove();
    assertFalse(map.containsKey(two));
    assertEquals(4, map.size());
    assertEquals(0, sm.size());
    assertTrue(sm.isEmpty());
    assertSame(sm.remove(three), null);
    assertEquals(4, map.size());
}
 
开发者ID:AdoptOpenJDK,项目名称:openjdk-jdk10,代码行数:32,代码来源:ConcurrentSkipListMapTest.java

示例3: map5

import java.util.concurrent.ConcurrentSkipListMap; //导入方法依赖的package包/类
/**
 * Returns a new map from Integers 1-5 to Strings "A"-"E".
 */
private static ConcurrentNavigableMap map5() {
    ConcurrentSkipListMap map = new ConcurrentSkipListMap();
    assertTrue(map.isEmpty());
    map.put(zero, "Z");
    map.put(one, "A");
    map.put(five, "E");
    map.put(three, "C");
    map.put(two, "B");
    map.put(four, "D");
    map.put(seven, "F");
    assertFalse(map.isEmpty());
    assertEquals(7, map.size());
    return map.subMap(one, true, seven, false);
}
 
开发者ID:AdoptOpenJDK,项目名称:openjdk-jdk10,代码行数:18,代码来源:ConcurrentSkipListSubMapTest.java

示例4: main

import java.util.concurrent.ConcurrentSkipListMap; //导入方法依赖的package包/类
/**
 * @param args
 */
public static void main(String[] args) {
	/*
	 * Create the navigable map
	 */
	ConcurrentSkipListMap<String, Contact> map = new ConcurrentSkipListMap<>();

	/*
	 * Create an array to store the 26 threads that execute the tasks
	 */
	Thread threads[] = new Thread[26];
	int counter = 0;

	/*
	 * Execute the 26 tasks
	 */
	for (char i = 'A'; i <= 'Z'; i++) {
		Task task = new Task(map, String.valueOf(i));
		threads[counter] = new Thread(task);
		threads[counter].start();
		counter++;
	}

	/*
	 * Wait for the finalization of the threads
	 */
	for (Thread thread : threads) {
		try {
			thread.join();
		} catch (InterruptedException e) {
			e.printStackTrace();
		}
	}

	/*
	 * Write the size of the map
	 */
	System.out.printf("Main: Size of the map: %d\n", map.size());

	/*
	 * Write the first element of the map
	 */
	Map.Entry<String, Contact> element;
	Contact contact;

	element = map.firstEntry();
	contact = element.getValue();
	System.out.printf("Main: First Entry: %s: %s\n", contact.getName(), contact.getPhone());

	/*
	 * Write the last element of the map
	 */
	element = map.lastEntry();
	contact = element.getValue();
	System.out.printf("Main: Last Entry: %s: %s\n", contact.getName(), contact.getPhone());

	/*
	 * Write a subset of the map
	 */
	System.out.printf("Main: Submap from A1996 to B1002: \n");
	ConcurrentNavigableMap<String, Contact> submap = map.subMap("A1996", "B1002");
	do {
		element = submap.pollFirstEntry();
		if (element != null) {
			contact = element.getValue();
			System.out.printf("%s: %s\n", contact.getName(), contact.getPhone());
		}
	} while (element != null);
}
 
开发者ID:PacktPublishing,项目名称:Java-9-Concurrency-Cookbook-Second-Edition,代码行数:72,代码来源:Main.java


注:本文中的java.util.concurrent.ConcurrentSkipListMap.subMap方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。