📜  Java中的 SortedMap values() 方法及示例(1)

📅  最后修改于: 2023-12-03 15:01:56.882000             🧑  作者: Mango

Java中的SortedMap values()方法及示例

介绍

在Java中,SortedMap是一个有序的Map接口,它继承自Map接口并扩展了它的功能。与Map接口一样,SortedMap也提供了values()方法,用于返回SortedMap中的值。

values()方法返回一个Collection集合,其中包含了SortedMap中所有的值。这些值按照升序排列,因为SortedMap是一个有序的Map接口。

SortedMap.values()方法的时间复杂度为O(1),因为它只需要返回一个已经存在的Collection集合。但是,如果我们对这个返回的集合进行修改,则会导致SortedMap中对应的键值对发生改变,从而导致SortedMap的结构发生变化。

示例

下面是一个示例,演示了如何使用SortedMap.values()方法:

import java.util.SortedMap;
import java.util.TreeMap;

public class SortedMapExample {

    public static void main(String[] args) {

        SortedMap<Integer, String> sortedMap = new TreeMap<>();
        sortedMap.put(3, "three");
        sortedMap.put(1, "one");
        sortedMap.put(2, "two");

        // 获取SortedMap中的所有值
        System.out.println("SortedMap中的所有值为:" + sortedMap.values());

        // 修改返回的集合中的元素
        sortedMap.values().remove("one");
        System.out.println("修改后的SortedMap为:" + sortedMap);

    }
}

输出结果:

SortedMap中的所有值为:[one, two, three]
修改后的SortedMap为:{2=two, 3=three}

在上面的示例中,我们创建了一个SortedMap,并向其中添加了三个键值对。接着,我们使用SortedMap.values()方法获取了SortedMap中的所有值,并把它们打印出来。

然后,我们尝试修改返回的集合中的元素,具体的操作是通过调用remove()方法删除了一个元素。修改后,我们又把SortedMap打印出来,可以看到对应的键值对已经被删除了。

需要注意的是,如果我们对返回的集合进行修改,会影响SortedMap中对应的键值对,因为SortedMap和返回的集合之间存在关联。因此,在使用SortedMap.values()方法时,要注意对返回的集合进行只读操作,不要对它进行修改。