双列集合

双列集合

 

(键(key)值(value)对 )对象   entry对象

 map接口

多态创建对象

  put(<T>key, <E>value)存入  key同,value新

  clear()

  containsKey(key)

  isEmpty()

  size() 键值对个数

       remove(key)移除

  get(key)

Map集合的遍历

 第一种遍历

        KeySet 把建存入Set集合

  Set<String> s=map.keySet()

        map.keySet.for

        value=map.get(key);

 第二种遍历

  entrySet()

  Set<Map.Entry<String,String>> entries

  getKey() getValue()=map.entrySet();

第三种遍历

   map.forEach

 forEach()方法底层已经便利了map集合,将键值数据传给

 BiConsumer中的accept(T t,Uu)的方法了

 map.foeEach((String k,String V)->{sout()k+"----->"+v})

package com.yang.map.mapfor;

import java.util.HashMap;
import java.util.Map;
import java.util.Set;

public class MapFor {
    public static void main(String[] args) {
        Map<String ,String > map=new HashMap<>();
        map.put("1","王大炮");
        map.put("2","王二炮");
        map.put("3","王三炮");
        map.put("4","王四炮");
        map.put("5","王五炮");
        //第一种遍历
        Set<String> s=map.keySet();
        for (String s1 :s) {
            String value=map.get(s1);
            System.out.println(s1+value);
        }
        System.out.println("--------------------------------------------------------S");
        //第二种遍历
        Set<Map.Entry<String,String>> entries=map.entrySet();
        for (Map.Entry<String, String> entry : entries) {
            System.out.println(entry.getKey()+"--"+entry.getValue());
        }
        //第三种遍历
        map.forEach((String k,String v)->{
            System.out.println(k+"------>"+v);
        });


    }
}

 

 HashMap 

 16*0.75 将键值对封装成entry对象,只保证键的唯一。其它与hashSet一样

 自定义类型作为键要重写hashCode 和 equals方法

LinkedHashMap保证存取有序

TreeMap

键值对封装为entry对象,根据红黑书规则存储(只看key),与value无关。 

 

 

Properties集合

键值对为字符串

IO有关方法

put 添加

修改,跟put有关,键存在覆盖

移除 得到  遍历keySet()得到key的Set集合    entrySet()得到键值对对象

特有的方法

 

setProperty(String key,String value)设置集合键和值

getProperty(String key) 得到对应的值

stringPropertyNames()返回一个键集

和IO结合的方法

void load(Reader reader)将本地文件的键值对读取到集合中

void load(InputStream inputStrean)将本地文件的键值对读取到集合中

properties.load(FileReader) 打印properties就行了数据已经在集合中了  应用信息少的配置文件

  public static void main(String[] args)throws IOException {
        Properties properties=new Properties();
        FileReader fileReader=new FileReader("day-11-file\\property.txt");
        fileReader.close();
        properties.load(fileReader);
        System.out.println(properties);

    }

  

void store(Writer writer,String comments)将集合中的数据以键值对形式保存到本地文件 comments 注释

 

posted @ 2021-10-14 10:56  互联.王  阅读(56)  评论(0编辑  收藏  举报