Java

一. LinkedList

  1. 数据都是以节点为单位 ;
  2. 双向链表: 节点: 上个节点的地址, 数据值 ,下个节点的地址;
  3. 单向链表: 节点: 数据值,下个节点的地址;

二.Map接口

1.都是成对的,即储存键值对的类型;
2.映射:key—value;
3.它储存的特点是无序的;
4.key—> 无序的,不可重复,唯一的—>Set集合; value–> 无序的,可重复 —>Collection集合;
5. 一个key只能匹配一个value ,多个的话储存到一个集合中(ArrayList);
6. 遍历:
1》keySet() 获取所有的key,根据key可以索取value;去重也是根据key去做,value值会被替换;
2》 values() 获取所有的value值,没有办法获取到key;
3》Set<Map.Entry<K,V>> entrySet() 把map集合中的每一个映射封装成为Map.Entry类型的数据,放入一个set集合中返回;

三.HashMap

1.底层是哈希值:(数组+链表+红黑树);
2.它具有 查询,增删效率高的特点,但是无序,存储键值对的值;
3. TreeMap: Map的实现类,它具有默认升序排列的特性;
4. 去重可以根据key做去重,还能根据key计算桶的位置;
5. HashMap的key存储自定义引用数据类型: 需要重写equals和hashcode方法;
6.TreeMap的key存储为自定义引用数据类型: 需要实现内部|外部比较器;

四.Properties容器和Collecitons操作集合工具类

  1. Properties 可保存在流中或从流中加载。
  2. 属性列表中每个键及其对应值都是一个字符串。
  3. void sort(List) //对 List 容器内的元素排序,按照升序进行排序。
    4.void shuffle(List) //对 List 容器内的元素进行随机排列
    5.void reverse(List) //对 List 容器内的元素进行逆续排列
    6.void fill(List, Object) //用一个特定的对象重写整个 List 容器
  4. int binarySearch(List, Object)//采用折半查找的方法查找特定对象
  5. 如何解决HashMap的线程安全问题:
    1.Hashtable线程安全的哈希表
    2.Collecitons.synchronizedMap(Map<K,V> m) 返回一个线程安全的map
    3.juc包下的ConcurrentHashMap<K,V> 线程安全的哈希表,推荐,效率较高

五.Stream

  1. 是数据渠道,用来操作数据源所产生的元素序列;
  2. Stream自己不会创建元素,也不改变源数据,会返回一个新的stream;
  3. 它不能够被重复使用,以及具有惰性加载的特性;
  4. 创建流–>中间操作–>终止操作;
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值