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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 王洪洋 初级黑马   /  2019-5-7 14:40  /  1334 人查看  /  0 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

1.map集合1.1 map集合的特点。
  • 键值对映射关系。
  • 一个键对应一个值。
  • 键不能重复,值可以重复。
  • 元素存取无序

  • Map集合的基本使用
  • public class MapDemo01{
        public static void main(String[] args){
            Map<String,String> map = new HasMap<String,String>();
            map.put("ithima01","林青霞");
                System.out.println(map);
        }
    }

### 1.2 Map集合中的功能

- map.put()  ----  添加元素;

- map.remove ()---- -- 根据键删除键值对;

- map.clear ()------- 清除所有;

- map.containsKey()-------判断集合是否包含指定的键;返回boolean

- map.containsValue ()-------判断是否包含指定的值。返回boolean

- 获取功能

  - map.get()------以键取值

  - map.keySet()-------获得所有键的set<>集合

  - map.valus()---------获取所有值的collection集合

  - map.entryset--------获取所有键值对对象的set<map.enty<k,v>>集合

    •

- 遍历Map集合

  - 获取所有键的集合 -----map.keySet();
  - 增强for遍历键,获得每一个键
  - map.get(键)

- 代码

- ```java
  Map<String,String> map = new HasMap<String,String>();
  map.put(""),
  map.put(""),
  Set<String> s = map.keySet();
  for(String st : s){
      map.get(st)
  }1.3 Map集合的遍历方式(二)
  • 用 map.entry 方法获得 对应键值对的set<>集合;
  • 增强for循环遍历set<>集合。得到每一个键值对对象,
  • 用getKey()得到键
  • 用getValue()得到值

1.4统计字符串中每个字符出现的次数
  • 案例需求
    • 键盘录入一个字符串,要求统计字符串中每个字符串出现的次数。
    • 举例:键盘录入“aababcabcdabcde”  在控制台输出:“a(5)b(4)c(3)d(2)e(1)”

  • 代码实现


public class HashMapDemo {
    public static void main(String[] args) {
        //键盘录入一个字符串
        Scanner sc = new Scanner(System.in);
        System.out.println("请输入一个字符串:");
        String line = sc.nextLine();

        //创建HashMap集合,键是Character,值是Integer
//        HashMap<Character, Integer> hm = new HashMap<Character, Integer>();
        TreeMap<Character, Integer> hm = new TreeMap<Character, Integer>();

        //遍历字符串,得到每一个字符
        for (int i = 0; i < line.length(); i++) {
            char key = line.charAt(i);

            //拿得到的每一个字符作为键到HashMap集合中去找对应的值,看其返回值
            Integer value = hm.get(key);

            if (value == null) {
                //如果返回值是null:说明该字符在HashMap集合中不存在,就把该字符作为键,1作为值存储
                hm.put(key,1);
            } else {
                //如果返回值不是null:说明该字符在HashMap集合中存在,把该值加1,然后重新存储该字符和对应的值
                value++;
                hm.put(key,value);
            }
        }

        //遍历HashMap集合,得到键和值,按照要求进行拼接
        StringBuilder sb = new StringBuilder();

        Set<Character> keySet = hm.keySet();
        for(Character key : keySet) {
            Integer value = hm.get(key);
            sb.append(key).append("(").append(value).append(")");
        }

        String result = sb.toString();

        //输出结果
        System.out.println(result);
    }
}1.5Collections集合工具类
  • Collections .sort(list<t>  list)-----将指定的列表按升序排序
  • Collections.reverse(list<t>  list)-------反转
  • Collections.shuffle(list<t>  list)-----随机排列


0 个回复

您需要登录后才可以回帖 登录 | 加入黑马