当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


Java TreeMap.put()、putAll()用法及代码示例


使用put函数的变体处理TreeMap中的插入。 Java.util.TreeMap中有put()的两个变体,本文都将进行讨论。 1. put():它将指定的值与映射中的指定键相关联。如果已经存在 key ,则对其进行更新将导致该 key 的更新。

参数:
key:The key with which the value is to be associated.
value: The value to be associated with the given key.
返回值:
It returns the previously associated value with this key,
or null if there was no mapping for key.
Exception:
Not Available.

// Java code demonstrating the working 
// of put() 
import java.io.*; 
import java.util.*; 
public class Put { 
    public static void main(String[] args) 
    { 
  
        // Declaring the tree map of Integer and String 
        TreeMap<String, Integer> tmp = new TreeMap<String, Integer>(); 
  
        // assigning the values in the tree map 
        // using put() 
        tmp.put("one", 1); 
        tmp.put("two", 3); 
  
        // Printing initial TreeMap 
        System.out.println("The initial TreeMap is:" + tmp); 
  
        // Putting value at key two 
        // replaces the previous value if present 
        int z = tmp.put("two", 2); 
  
        // checking the previous value associated with "two" 
        System.out.println("The previous value with two is:" + z); 
  
        // prints the complete map 
        System.out.println("Updated TreeMap is:" + tmp); 
    } 
}

输出:

The initial TreeMap is:{one=1, two=3}
The previous value with two is:3
Updated TreeMap is:{one=1, two=2}

2. putAll():它将所有映射从指定映射复制到给定映射,并在重复键的情况下覆盖。


参数:
map: The mappings to be stored.
返回值:
Not Available.
Exception:
NullPointerException: Thrown if specified map is null,
specified map contains a null key.

// Java code to demonstrate the working 
// of putAll() 
import java.io.*; 
import java.util.*; 
public class putAll { 
    public static void main(String[] args) 
    { 
  
        // Declaring the tree maps of Integer and String 
        TreeMap<String, Integer> tmp1 = new TreeMap<String, Integer>(); 
        TreeMap<String, Integer> tmp2 = new TreeMap<String, Integer>(); 
  
        // assigning the values in the tree map 
        // using put() 
        tmp1.put("two", 3); 
        tmp1.put("one", 1); 
  
        // assigning in 2nd TreeMap 
        tmp2.put("three", 3); 
        tmp2.put("two", 2); 
  
        System.out.println("First treemap values are:" + tmp1); 
  
        // use of putAll() 
        // Putting 2nd map in 1st map 
        tmp1.putAll(tmp2); 
  
        System.out.println("Values after modifying 1st treemap:" + tmp1); 
    } 
}

输出:

First treemap values are:{one=1, two=3}
Values after modifying 1st treemap:{one=1, three=3, two=2}

异常

NullPointerException :如果Map包含空键或在putAll()中为空,则发生。

// Java code to demonstrate the Exception 
// of putAll() 
import java.io.*; 
import java.util.*; 
public class putAll { 
    public static void main(String[] args) 
    { 
  
        // Declaring the tree maps of Integer and String 
        TreeMap<String, Integer> tmp1 = new TreeMap<String, Integer>(); 
        TreeMap<String, Integer> tmp2 = new TreeMap<String, Integer>(); 
  
        // assigning the values in the tree map 
        // using put() 
        tmp1.put("two", 3); 
        tmp1.put("one", 1); 
  
        // assigning in 2nd TreeMap 
        tmp2.put("three", 3); 
        tmp2.put(null, 2); 
  
        System.out.println("First treemap values are:" + tmp1); 
  
        // use of putAll() 
        // Putting 2nd map in 1st map 
        tmp1.putAll(tmp2); 
  
        System.out.println("Values after modifying 1st treemap:" + tmp1); 
    } 
}

运行时错误:

Exception in thread "main" java.lang.NullPointerException
    at java.util.TreeMap.put(TreeMap.java:563)
    at putAll.main(putAll.java:21)

实际应用:该函数具有存储值并在需要时更新它们的函数。这种函数主要在目录和词典或记录中有用。下面的一小段代码说明了合并数据库以获取游戏中的最新分数。

// Java code to demonstrate the Application 
// of putAll() 
import java.io.*; 
import java.util.*; 
public class putAllAppli { 
    public static void main(String[] args) 
    { 
  
        // Declaring the tree maps of Integer and String 
        TreeMap<String, Integer> Score1 = new TreeMap<String, Integer>(); 
        TreeMap<String, Integer> Score2 = new TreeMap<String, Integer>(); 
  
        // Assigning Scores at Drinks break 
        Score1.put("Sachin", 40); 
        Score1.put("Rahul", 32); 
        Score1.put("Dhoni", 68); 
  
        System.out.println("The scores till Drinks break are:" + Score1); 
  
        // Assigning Scores at Lunch 
        Score2.put("Rahul", 67); 
        Score2.put("Dhoni", 102); 
        Score2.put("Raina", 10); 
  
        System.out.println("The scores at Lunch:" + Score2); 
  
        // use of putAll() 
        // Getting net score board 
        Score1.putAll(Score2); 
  
        System.out.println("Net scorecard is:" + Score1); 
    } 
}

输出:

The scores till Drinks break are:{Dhoni=68, Rahul=32, Sachin=40}
The scores at Lunch:{Dhoni=102, Rahul=67, Raina=10}
Net scorecard is:{Dhoni=102, Rahul=67, Raina=10, Sachin=40}


相关用法


注:本文由纯净天空筛选整理自Shambhavi Singh 1大神的英文原创作品 Java.util.TreeMap.put() and putAll() in Java。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。