摘要:HashMap 是Hashtable 的轻量级实现(非线程安全的实现),他们都完成了Map 接口,主要区别在于HashMap 允许空(null)键值(key),由于非线程安全,效率上可能高于Hashtable。HashMap 允许将null 作为一个entry 的key 或者value,而Hasht
阅读全文
摘要:当程序执行 map.put("ccc" , 89.0); 时,系统将直接把 "ccc"-89.0 这个 Entry 放入 Map 中,这个 Entry 就是该“红黑树”的根节点。接着程序执行 map.put("aaa" , 80.0); 时,程序会将 "aaa"-80.0 作为新节点添加到已有的红黑
阅读全文
摘要:一. 泛型概念的提出(为什么需要泛型)? 首先,我们看下下面这段简短的代码: 定义了一个List类型的集合,先向其中加入了两个字符串类型的值,随后加入一个Integer类型的值。这是完全允许的,因为此时list默认的类型为Object类型。在之后的循环中,由于忘记了之前在list中也加入了Integ
阅读全文
摘要:Comparable & Comparator 都是用来实现集合中元素的比较、排序的,只是 Comparable 是在集合内部定义的方法实现的排序,Comparator 是在集合外部实现的排序,所以,如想实现排序,就需要在集合外定义 Comparator 接口的方法或在集合内实现 Comparabl
阅读全文
摘要:TreeSet:数据元素可以排序且不可重复 对比Set接口:HashSet,元素必须重写hashcode和equals方法。 去重:比较等于0及重复 1)元素本身可以排序, 实现java.lang.Comparable+compareTo new TreeSet() 2)排序业务类, java.ut
阅读全文
摘要:1. Comparator 和 Comparable 相同的地方他们都是java的一个接口, 并且是用来对自定义的class比较大小的,什么是自定义class: 如 public class Person{ String name; int age }.当我们有这么一个personList,里面包含
阅读全文
摘要:package com.bjsxt.iter; /*** * 目标:关注迭代器原理 * * @author Administrator * */public class SxtSimpleList { private String[] elem = { "a", "b", "c" }; privat
阅读全文
摘要:map多值合并 package com.bjsxt.map; import java.util.HashMap;import java.util.Iterator;import java.util.Map;import java.util.Set; public class MaoDemo01 {p
阅读全文
摘要:泛型类实例 package com.bjsxt.fanxing; /** * 自定义泛型类 * 1、<>->单个大写字母,尽可能见名知意 * 2、T Type K V key value E Element * 3、注意点 泛型不能使用在静态属性上 * 在声明时指定具体类型,不能为基本类型,只能是引
阅读全文
摘要:package com.bjsxt.fanxing;/** * 1:泛型标签,泛化类型 * 2:作用:安全省心 * */import java.util.ArrayList;import java.util.List; public class Simple { public static void
阅读全文
摘要:一个类对应一个表结构,一个对象对应一行记录 使用map,一个map对象表示一行记录 List和Set都可以使用迭代器来迭代获取数据 remove()删除的是刚刚指代的元素,而且每一迭代,只能使用这个函数一次
阅读全文
摘要:hashset 通过hashmap实现,因为是无序的,因此没有get()函数来获取某一个值,所以,只有通过遍历获得值
阅读全文
摘要:equals比较内容是否相等 hashcode 比较哈希值是否相等。默认的hashcode是使用地址来计算的 equals为true,hashcode 必然相等,反之,不然 容器中,equals为true。表示重复 package com.bjsxt.collectiontest; import j
阅读全文
摘要:map的底层结构是数组+链表,存储时候,对一个元素计算hash码,将同一个hashcode的元素放到数组相同位置的链表中(这里的数组每个位置存放的是有相同hashcode的链表) package com.bjsxt.collectiontest; import java.util.HashMap;i
阅读全文
摘要:package com.bjsxt.collectiontest; import java.util.HashMap;import java.util.Map; public class TestMap { public static void main(String[] args) { // TO
阅读全文
摘要:内部类:专门本类服务,可以调用本类的的属性和函数 package com.bjsxt.collectiontest; public class SxtLinkedList { private Node first; private Node last; private int size; publi
阅读全文
摘要:package com.bjsxt.collectiontest; public class SxtArratList { private Object[] elementData; private int size; public SxtArratList() { this(10); }publi
阅读全文
摘要:return 有两个作用,一个是返回值,一个是结束运行 package com.bjsxt.collectiontest; import java.util.ArrayList;import java.util.Date;import java.util.List;/** * list基本用法 *
阅读全文
摘要:接口是规范。把设计和实现分开了 list 顺序可重复,list中的索引就是位置 set 无需不重复 map 键值对,通过一个对象找另一个对象 容器中 的isEmpty和null不一样。null 表示不存在,isEmpty表示容器里的元素有0个 容器中根据hashcode 和equals判断;两个元素
阅读全文