摘要: 集合框架中的工具类:特点:该工具类中的方法都是静态的。 Collections:常见方法: 1, 对list进行二分查找: 前提该集合一定要有序。 int binarySearch(list,key); //必须根据元素自然顺序对列表进行升级排序 //要求list 集合中的元素都是Comparabl 阅读全文
posted @ 2020-09-03 00:54 nohert 阅读(150) 评论(0) 推荐(0) 编辑
摘要: TreeMap TreeMap的排序,TreeMap可以对集合中的键进行排序。如何实现键的排序? 方式一:元素自身具备比较性 和TreeSet一样原理,需要让存储在键位置的对象实现Comparable接口,重写compareTo方法,也就是让元素自身具备比较性,这种方式叫做元素的自然排序也叫做默认排 阅读全文
posted @ 2020-09-03 00:51 nohert 阅读(168) 评论(0) 推荐(0) 编辑
摘要: HashMap 底层是哈希表数据结构,线程是不同步的,可以存入null键,null值。要保证键的唯一性,需要覆盖hashCode方法,和equals方法。 案例:自定义对象作为Map的键。 import java.util.HashMap; import java.util.Iterator; im 阅读全文
posted @ 2020-09-03 00:50 nohert 阅读(173) 评论(0) 推荐(0) 编辑
摘要: 遍历Map的方式: 1、将map 集合中所有的键取出存入set集合。 Set<K> keySet() 返回所有的key对象的Set集合 再通过get方法获取键对应的值。 2、 values() ,获取所有的值. Collection<V> values()不能获取到key对象 3、 Map.Entr 阅读全文
posted @ 2020-09-03 00:47 nohert 阅读(163) 评论(0) 推荐(0) 编辑
摘要: Map 如果程序中存储了几百万个学生,而且经常需要使用学号来搜索某个学生,那么这个需求有效的数据结构就是Map。Map是一种依照键(key)存储元素的容器,键(key)很像下标,在List中下标是整数。在Map中键(key)可以使任意类型的对象。Map中不能有重复的键(Key),每个键(key)都有 阅读全文
posted @ 2020-09-03 00:46 nohert 阅读(1772) 评论(0) 推荐(0) 编辑
摘要: TreeSet 案例:使用TreeSet集合存储字符串元素,并遍历 import java.util.TreeSet; public class Demo5 { public static void main(String[] args) { TreeSet ts = new TreeSet(); 阅读全文
posted @ 2020-09-03 00:42 nohert 阅读(157) 评论(0) 推荐(0) 编辑
摘要: | Itreable 接口 实现该接口可以使用增强for循环 | Collection 描述所有集合共性的接口 | List接口 可以有重复元素的集合 | ArrayList | LinkedList | Set接口 不可以有重复元素的集合 | HashSet 线程不安全,存取速度快。底层是以哈希表 阅读全文
posted @ 2020-09-03 00:39 nohert 阅读(182) 评论(0) 推荐(0) 编辑
摘要: Set Set:注重独一无二的性质,该体系集合可以知道某物是否已近存在于集合中,不会存储重复的元素 用于存储无序(存入和取出的顺序不一定相同)元素,值不能重复。 对象的相等性 引用到堆上同一个对象的两个引用是相等的。如果对两个引用调用hashCode方法,会得到相同的结果,如果对象所属的类没有覆盖O 阅读全文
posted @ 2020-09-03 00:37 nohert 阅读(111) 评论(0) 推荐(0) 编辑
摘要: 迭代器 为了方便的处理集合中的元素,Java中出现了一个对象,该对象提供了一些方法专门处理集合中的元素.例如删除和获取集合中的元素.该对象就叫做迭代器(Iterator). 对 Collection 进行迭代的类,称其为迭代器。还是面向对象的思想,专业对象做专业的事情,迭代器就是专门取出集合元素的对 阅读全文
posted @ 2020-09-03 00:35 nohert 阅读(310) 评论(0) 推荐(0) 编辑
摘要: Vector Vector: 描述的是一个线程安全的ArrayList。 ArrayList: 单线程效率高 Vector : 多线程安全的,所以效率低 特有的方法: void addElement(E obj) 在集合末尾添加元素 E elementAt( int index) 返回指定角标的元素 阅读全文
posted @ 2020-09-03 00:30 nohert 阅读(120) 评论(0) 推荐(0) 编辑
摘要: LinkedList --| Iterable | Collection | List | ArrayList 底层采用数组实现,默认10。每次增长 60%,((oldCapacity * 3)/2 + 1) 查询快,增删慢。 | LinkedList 底层采用链表实现,增删快,查询慢。 Linke 阅读全文
posted @ 2020-09-03 00:28 nohert 阅读(172) 评论(0) 推荐(0) 编辑
摘要: ArrayList --| Iterable | Collection | List | ArrayList 底层采用数组实现,默认10。每次增长 60%,((oldCapacity * 3)/2 + 1) 查询快,增删慢。 | LinkedList ArrayList:实现原理: 数组实现, 查找 阅读全文
posted @ 2020-09-03 00:25 nohert 阅读(179) 评论(0) 推荐(0) 编辑
摘要: List | Iterable 接口 Iterator iterator() | Collection 接口 | List 接口 元素可以重复,允许在指定位置插入元素,并通过索 引来访问元素 1. List集合特有方法 1:增加 void add(int index, E element) 指定位置 阅读全文
posted @ 2020-09-03 00:23 nohert 阅读(135) 评论(0) 推荐(0) 编辑
摘要: 集合类(Collection) Collection接口有两个子接口: List(链表|线性表) Set(集) 特点: Collection中描述的是集合共有的功能(CRUD) List可存放重复元素,元素存取是有序的 Set不可以存放重复元素,元素存取是无序的 java.util.Collecti 阅读全文
posted @ 2020-09-03 00:19 nohert 阅读(314) 评论(0) 推荐(0) 编辑
摘要: 1. 集合 1.1. 什么是集合 存储对象的容器,面向对象语言对事物的体现都是以对象的形式,所以为了方便对多个对象的操作,存储对象,集合是存储对象最常用的一种方式。 集合的出现就是为了持有对象。集合中可以存储任意类型的对象, 而且长度可变。在程序中有可能无法预先知道需要多少个对象, 那么用数组来装对 阅读全文
posted @ 2020-09-03 00:13 nohert 阅读(133) 评论(0) 推荐(0) 编辑