输出结果:
{1=a, 0=c, 3=a, 2=b}
a;c;a;b;
可以看出“键 - 值”的输入顺序和输出顺序是完全对应的。如果在映射中重新插入键,则插入书序不受影响。
3>实现类TreeMap:
存放入TreeMap中的“键 - 值”对的“键”必须是可排序的。
下面通过例子演示TreeMap的相关用法:
import java.util.Iterator;
import java.util.Map;
import java.util.Set;
import java.util.TreeMap;
public class TreeMapTest {
public static void main(String[] args) {
//声明一个TreeMap对象
Map
tmp = new TreeMap
(); //向lhmp中添加“键 - 值”对 lhmp.put(1, "a"); lhmp.put(0, "c"); lhmp.put(3, "a"); lhmp.put(2, "b"); //输出“键 - 值”对 System.out.println("TreeMap: \n
"); System.out.println(tmp); System.out.println("输出容器的大小: " + tmp.size()); //获取全部键值,它的返回类型是Set Set
set = tmp.keySet(); //生成一个 迭代器 Iterator
it = set.iterator(); //使用键生成的迭代器输出所有”键-值“对的值 System.out.println("
"); while (it.hasNext()) { System.out.print(tmp.get(it.next()) + ";"); } } }
输出结果:
LinkedHashMap:
{0=c, 1=a, 2=b, 3=a}
输出容器的大小: 4
c;a;b;a;
在TreeMap中“键”必须是可排序的,在内部存储时会按“键”的序列存储,输出相同。
4>实现类Properties:
Properties类表示了持久的属性集,它可以保存在流中或从流中加载。且其存放的“键 - 值”对都是字符串,
在存取时应使用setProperties(String key, String value)方法和getProperty(String key)方法。
下面是Properties类的演示例子:
import java.io.IOException;
import java.io.InputStream;
import java.util.Properties;
public class TreeMapTest {
public static void main(String[] args) {
//获取文件并读入到输入流
InputStream is = (InputStream) Thread.currentThread()
.getContextClassLoader()
.getResourceAsStream("config.properties");
// 创建属性集对象
Properties prop = new Properties();
try {
// 从流中加载数据
prop.load(is);
} catch (IOException e) {
e.printStackTrace();
}
// 获取name属性
String name = prop.getProperty("name");
System.out.println("name = " + name);
//获取password属性
String pwd = prop.getProperty("password");
System.out.println("password = " + pwd);
}
}
输出结果:
name = spilit
password = abc123
在src中建立Fiel文档config.properties:
#Key=value
name=spilit
password=abc123