Properties和在实际应用中集合怎么选择

Properties

  • Properties介绍

    • Properties 类继承子Hashtable类并且实现类Map接口,也是使用一种键值对的形式来保存数据

    • 他的使用特点和Hashtable类似

    • Properties 还可以用于 从 xxx.properties 文件中,加载数据到Properties类对象,并进行读取和修改

    • 说明:工作后 xxx.properties 文件通常作为配置文件,这个知识点在IO流举例

import java.util.Properties;
​
public class Properties01 {
    public static void main(String[] args) {
​
        Properties properties = new Properties();
        //增加
        properties.put("Jack",20);
        properties.put("Jack",50);  //覆盖前面一个
//        properties.put(null,60);  //NullPointerException
//        properties.put("Rose",null);  //NullPointerException
        properties.put("Tom",70);
        System.out.println(properties);
​
        //修改
        properties.put("Tom",100);
        System.out.println(properties);
        //查询
        properties.get("Jack");
        System.out.println(properties);
        //删除
        properties.remove("Jack");
        System.out.println(properties);
    }
}
/*
1.Properties 继承 Hashtable
2.键不能为null,值不能为null;以 k - v 的形式存储数据
​
运行结果:
{Tom=70, Jack=50}
{Tom=100, Jack=50}
{Tom=100, Jack=50}
{Tom=100}
 */

集合选择规则

在开发中,选择什么集合实现类,主要取决于业务操作特点,然后根据集合实现类特征进行选择,分析如下:

  • 先判断存储的类型(一组对象[单列]或一组键值对[双列])

  • 一组对象[单列]:Collecton接口

    • 允许重复:List

      • 增删多:LinkedLIst [底层维护了一个双向链表]

      • 改查多:ArrayList [底层维护 Object 类型的可变数组]

    • 不允许重复

      • 无序:HashSet [底层是HashMap , 维护了一个哈希表 即 (数组 + 链表 + 红黑树 )]

      • 排序TreeSet [底层是TreeMap,不可添加重复元素]

      • 插入和取出顺序一致:LinkedHashSet , 维护数组 + 双向链表

  • 一组键值对[双列]:Map

    • 键无序:HashMap [底层是:哈希表 jdk 7:数组 + 链表 ,jdk 8 :数组 + 链表 + 红黑树]

    • 键排序:TreeMap []

    • 键插入和取出顺序一致:LinkedHashMap

    • 读取文件 Properties

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值