HashMap与LinkedHashMap类型集合

打印 上一主题 下一主题

主题 892|帖子 892|积分 2676

对于HashMap
特点:

  • 特点无序,没索引,不重复
  • 包管键的唯一
类似于Map类型的集合,都可以在书名号中添加一个类名和一个数据类型来添加元素,也用“put”,也可以遍历集合元素
  1. Set<Student> keys = hm.keySet();  //获取键值
  2.         for (Student k : keys) {
  3.             String key = hm.get(k);  //获取添加的地址
  4.             System.out.println(key+"--"+k);
  5.         }
复制代码
假如计划用于统计方面,此次以随机数据为例。
首先设置一个数组来存放选项,让这些选项充当键
  1. // 创建一个数组用来存储可能的键
  2. String[] arr = {"A","B","C","D"};
复制代码
通过“Random”下令创建一个随机变量
  1. Random r = new Random();  // 产生随机数据的对象
复制代码
然后设置一个接口,进入循环
  1. ArrayList<String> list = new ArrayList<>();
  2.         Random r = new Random();  // 产生随机数据的对象
  3.         for (int i = 0; i < 80; i++) {  // 随机生成八十次
  4.             int index = r.nextInt(arr.length);  // 生成的数字最大不超过数组“arr”的长度
  5.             list.add(arr[index]); // 将生成的索引对应的元素添加到列表中
  6.         }
复制代码
此处创建了一个名叫“list”的接口,并将随机生成的数据导入集合中,此时用“HashMap”来创建一个集合
  1. HashMap<String, Integer> hm = new HashMap<>();
复制代码
然后用增强“for”循环的方法来遍历集合。 
"集合名.for"确定后自动生成,然后
  1. for (String name : list) {
  2.             // 首先判断该集合中是否存在该元素
  3.             if (hm.containsKey(name)) {
  4.                 // 当存在时,获取已经有的票数并增加1
  5.                 int num1 = hm.get(name);
  6.                 hm.put(name, num1 + 1); //存入集合并添加数值
  7.             } else {
  8.                 hm.put(name, 1); // 第一次出现,设置值为1
  9.             }
  10.         }
  11.         //打印HashMap的内容验证
  12.        System.out.println(hm);
复制代码
此时假如想要求谁人选项的数最大,则
  1. //求max
  2.         int max = 0;
  3.         Set<Map.Entry<String,Integer>> entries = hm.entrySet();
  4.         //将票数传递给一个集合
  5.         for (Map.Entry<String, Integer> entry : entries) {
  6.             int count = entry.getValue(); //获取集合中的数值
  7.             if(count >max){ //通过比较选出最大值
  8.                 max = count;
  9.             }
  10.         }
  11.         System.out.println(max);
复制代码
对于"LinedHashMap"
特点:

  • 存取有序,没索引,不重复
  • 包管键的唯一,也会覆盖同一键的数据,后盖前
其他与HashMap类型相同。
 

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

民工心事

金牌会员
这个人很懒什么都没写!
快速回复 返回顶部 返回列表