在Java编程中,Map和Table是两个非常重要的数据结构。它们都是用于存储键值对的容器。但是,它们之间有很多的不同之处。下面我们来分别介绍Map和Table。
Map
Map<K,V> map = new HashMap<>();map.put("key1", "value1");map.put("key2", "value2");map.put("key3", "value3");
在上面的代码中,我们创建了一个HashMap类型的Map实例。HashMap是Java中比较常用的Map实现类之一。然后我们使用put()方法向Map中添加了三个键值对。其中,键是字符串类型,值是任意类型。
Map中的key是唯一的,如果我们往已有的key中添加新的value,那么原有的value会被覆盖。我们可以使用get()方法获取Map中某个key对应的value。
String value1 = map.get("key1");System.out.println(value1); // 输出: value1
Table
Table<String, String, Integer> table = HashbasedTable.create();table.put("row1", "col1", 1);table.put("row1", "col2", 2);table.put("row2", "col1", 3);table.put("row2", "col2", 4);
在上面的代码中,我们创建了一个HashbasedTable类型的Table实例。HashbasedTable也是Google Guava库中的一个Map实现类。我们使用put()方法向Table添加了四个元素。每个元素都是由一个row key,一个column key和一个value组成。
Table中的row key和column key必须都是唯一的,如果我们往已有的(row key, column key)中添加新的value,那么原有的value会被覆盖。我们可以使用get()方法获取Table中某个(row key, column key)对应的value。
Integer value = table.get("row1", "col2");System.out.println(value); // 输出: 2
由于Table中的元素是由(row key, column key, value)组成的三元组,因此Table比Map多了一个维度。Table可以用于存储类似二维表格的数据。