A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© GoodBoy123 高级黑马   /  2014-5-29 14:51  /  956 人查看  /  4 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 GoodBoy123 于 2014-5-29 22:54 编辑

打印出来是键值对的顺序是反的。
这是怎么回事,
  1. /**
  2. * 把一个指定文件里的键值对加载到properties中。
  3. * */
  4. import java.io.*;
  5. import java.util.*;

  6. public class ProertiesFile {
  7. public static void main(String args []){
  8. Dome();
  9. }

  10. public static void Dome(){
  11. BufferedReader br = null; //生成带缓冲的输入流,
  12. Properties pro = new Properties(); //生明一个Properties 对象。

  13. try{
  14. br = new BufferedReader(new FileReader("c:\\info.txt"));//给输入流初始化。
  15. String buffer = null; //定义一个字符串
  16. while(true){
  17. buffer = br.readLine();
  18. if(buffer == null)
  19. break;
  20. String str[] = buffer.split("="); //分割字符串
  21. pro.setProperty(str[0],str[1]); //添加到pro里,
  22. }

  23. System.out.println(pro); //打印一下内容。

  24. }
  25. catch(IOException e){
  26. System.out.println(e);
  27. }
  28. finally{
  29. try {
  30. if(br != null)
  31. br.close();

  32. } catch (Exception e2) {
  33. System.out.println(e2);
  34. }
  35. }
  36. }
  37. }
复制代码



  1. <P> </P>
复制代码

评分

参与人数 1技术分 +1 收起 理由
李小然 + 1

查看全部评分

4 个回复

正序浏览
路漫漫_求索 发表于 2014-5-29 22:45
因为Properties是Hashtable的子类,它的底层数据结构是哈希表,所以你看到的结果是无序的 ...

:handshake:handshake:handshake
回复 使用道具 举报
因为Properties是Hashtable的子类,它的底层数据结构是哈希表,所以你看到的结果是无序的
回复 使用道具 举报
你是因为properties继承了了hashtable,底层是hash表结构,所以它是以hash算法存储元素的,所以你取得时候就是这样的!!!
回复 使用道具 举报
properties是继承自hashtable的,本来就是无序的。

评分

参与人数 1技术分 +1 收起 理由
李小然 + 1 赞一个!

查看全部评分

回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马