Map集合下HashMap、Properties的遍历操作

Map集合的遍历操作

HashMap的遍历
Map map = new HashMap();
map.put(1,"suitianshuang");
map.put(2,"tianshuangsui");
map.put(3,"shuangtiansui");

//遍历所有的key集:使用keySet(),(map集合的key使用的是Set进行存储的)
Set set = map.keySet();
iterator iterator = set.iterator();
while(iterator.hasNext()){
	System.out.println(iterator.next());
}

//遍历所有的value集:使用values()
Collection values = map.values();
for(Object obj : values){
	System.out.println(obj);
}

//遍历所有的key-value键值对:使用entrySet()
Set entrySet = map.entrySet();
Iterator iterator = entrySet.iterator();
while(iterator.hasNext()){
	Object obj = iterator.next();
	//entrySet集合中的元素都是Entry,就是一对一对的key-value
	Map.Entry entry = (Map.Entry) obj;
	System.out.println(entry.getKey()+"--->"+entry.getValue());
}

//另一种遍历集合的方式
//使用前两种方式进行拼接也可以代替entrySet()

Set set = map.keySet();
iterator iterator = set.iterator();
while(iterator.hasNext()){
	Object key = iterator.next();
	Object value = map.get(key);
	System.out.println(key+"--->"+value);
}

TreeMap

  • 向TreeMap中添加key - value 要求key必须是同一个类创建的对象。
  • 因为要按照key进行排序:自然排序、定制排序
    遍历方式和HashMap一样,但是要么使用自然排序,要么提供key的排序规则,不能根据value进行排序(定制排序)。

Hashtable 的子类Properties

该对象用于处理属性文件,所以key 和value 都是String类型的。

@Test
public void test(){
	Properties properties = new Properties();
	//省略try catch finally
	//name=suitianshuang
	//password=123456 
	//属性文件中的等号两侧不要打空格
	FileInputStream stream = new FileInputStream("jdbc.properties");
	//加载流对应的文件
	properties.load(stream);
	String name = properties.getProperty("name");
	String password = properties.getProperties("password");
	stream.close();
	//拿到属性文件的值之后,在进行相关的操作
	...
	//如果出现中文乱码需要将设置中的File Encodings中的编码改为UTF-8,并且将Transparent native-to-ascii conversion勾挑上。
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值