
集合
文章平均质量分 69
Shacoray
这个作者很懒,什么都没留下…
展开
-
java基础-Java集合框架-Map接口-Collections工具类以及Map的总结
Collections工具类Collections是一个操作Set、List和Map等集合的工具类Collections中提供了一系列静态的方法对集合元素进行排序、查询和修改等操作,还提供了对集合对象设置不可变、对集合对象实现同步操作等方法排序操作:(均为static方法)reverse(List):反转List中元素的顺序shuffle(List):对List集合元素进行随机排序sort(List):根据元素自然排序对指定List集合元素按升序排序sort(List,Comparator原创 2021-04-26 10:48:06 · 94 阅读 · 0 评论 -
java基础-Java集合框架-Map接口- TreeMap、Hashtable、Properties
TreeMap使用方法向TreeMap中添加key-value,要求key必须是同一个类创建的对象因为在TreeMap中要按照key进行排序:自然排序,定制排序使用定制排序:package com.jl.java.base.map;import java.util.Comparator;import java.util.TreeMap;/** * @author jiangl * @version 1.0 * @date 2021/4/26 9:28 */publ原创 2021-04-26 10:47:02 · 116 阅读 · 0 评论 -
java基础-Java集合框架-Map接口- LinkedHashMap源码分析
LinkedHashMap源码分析HashMap中的内部类:Nodestatic class Node<K,V> implements Map.Entry<K,V> { final int hash; final K key; V value; Node<K,V> next;}LinkedHashMap中的内部类Entrystatic class Entry<K,V> extends HashMap.Node<原创 2021-04-26 10:45:43 · 87 阅读 · 0 评论 -
java基础-Java集合框架-Map接口-HashMap原理(jdk1.7和jdk1.8)
Java集合框架-Map接口-HashMap原理和源码HashMap底层实现原理HashMap的put操作以jdk7为例说明HashMap map = new HashMap():在实例化之后,底层创建了一个长度为16的一维数组Entry[] table。…可能已经执行过多次put…map.put(key1,value1);步骤:首先调用,调用key1所在类的hashCode()计算key1哈希值,此哈希值经过某种算法计算后,得到在Entry数组中的存放位置。如果此位置上的数据为空,原创 2021-04-25 17:40:36 · 116 阅读 · 0 评论 -
java基础-Java集合框架-Map接口-概述
Java集合框架-Map接口-概述Map接口继承树[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-oCmFH6Fd-1619342863590)(D:\personal\文档\文档\javaBase\集合类\pic\Map接口继承树.png)]Map接口的子类实现Map:双列数据,存储key-value对的数据HashMap:作为Map的主要实现类,线程不安全的,效率高,存储null的key和valueLinkedHashMap:保证遍历Map元素时,可以按照原创 2021-04-25 17:28:26 · 97 阅读 · 0 评论 -
java基础-Java集合框架-Collection子接口-小总结
Java集合框架-Collection接口相关总结面试题集合Collection中存储的如果是自定义类的对象,需要定义类重写哪个方法?为什么?需要重写equals()方法,因为Collection集合中的接口方法需要对比元素对象,此处需要调用equals()方法List:equals()方法Set:(需要重写HashSet,LinkedHashSet)equals(),HashCode()TreeSet方法中:在排序中需要注意自然排序和定制排序ArrayList,LinkedList,V原创 2021-04-23 12:09:46 · 168 阅读 · 0 评论 -
java基础-Java集合框架-Collection子接口-Set接口方法使用以及子类HashSet,LinkedHashSet,TreeSet
Java集合框架-Collection子接口之二-Set接口Set接口概述Set接口是Collection的子接口,set接口没有提供额外的方法Set集合不允许包含相同的元素,如果试把两个相同的元素加入同一个Set集合中,则添加操作失败Set判断两个对象是否相同不是使用==运算符,而是根据equals()方法要求:向Set中添加的数据,其所在的类一定要重写hashCode()和equals()要求:重写的hashCode()和equals()尽可能保持一致性Set的无序性和不可重复性的理解原创 2021-04-23 10:19:23 · 144 阅读 · 0 评论 -
java基础-Java集合框架-Collection子接口-List接口方法
Java集合框架-Collection子接口之一-List接口方法List除了从Collection集合继承的方法外,List集合里添加了一些根据索引来操作集合元素的方法Collcetion下的方法:方法名说明add(E e)确保此集合包含指定的元素(可选操作)addAll(Collection<? extends E> c)将指定集合中的所有元素添加到这个集合中clear()移除集合中的所有元素contains(Object o原创 2021-04-22 16:58:33 · 66 阅读 · 0 评论 -
java基础-Java集合框架-Collection子接口-Vector的源码分析
Java集合框架-Collection子接口之一-List接口-Vector源码分析Vector使用较少,基本不用;在jdk7,8中通过Vector()构造器创建对象时,底层都创建了长度为10的数组在扩容方面,默认扩容为原来数组的2倍构造器:public Vector(int initialCapacity) { this(initialCapacity, 0);}/** * Constructs an empty vector so that its internal data原创 2021-04-22 15:47:26 · 103 阅读 · 0 评论 -
java基础-Java集合框架-Collection子接口-LinkedList的源码分析
Java集合框架-Collection子接口之一-List接口-LinkedList源码分析LinkedList类:public class LinkedList<E> extends AbstractSequentialList<E> implements List<E>, Deque<E>, Cloneable, java.io.Serializable{ transient int size = 0; /**原创 2021-04-22 15:41:41 · 117 阅读 · 0 评论 -
java基础-Java集合框架-Collection子接口-List接口以及ArrayList的源码分析
Java集合框架-Collection子接口之一-List接口List接口概述鉴于Java中数组用来存储数据的局限性,我们通常使用List替代数组List集合类中元素有序、且可重复,集合中的每个元素都有其对应的顺序索引List容器中的元素都对应一个整数型的序号记载其在容器中的位置,可以根据序号存取容器中的元素JDK API中List接口的实现类常用的有:ArrayList、LinkedList和Vector比较ArrayList、LinkedList、Vector的异同原创 2021-04-22 15:19:01 · 106 阅读 · 0 评论 -
java基础-Java集合框架-集合元素的遍历-Iterator迭代器
Java集合框架-集合元素的遍历集合元素的遍历操作,使用迭代器Iterator接口Iterator对象称为迭代器(设计模式的一种),主要用于遍历Collection集合中的元素。GOF给迭代器模式的定义为:提供一种方法访问一个容器(container)对象中的各个元素,而又不需要暴露该对象的内部细节。迭代器模式,就是为容器而生。Collection接口继承了java.lang.Iterable接口,改接口有一个iterator()方法,那么所有实现了Collection接口的集合类都原创 2021-04-22 11:16:29 · 157 阅读 · 0 评论 -
java基础-Java集合框架-Collection类中的方法的使用
Java集合框架-Collection接口的使用Collection接口定义的方法:public interface Collection<E> extends Iterable<E> { int size(); boolean isEmpty(); boolean contains(Object o); Iterator<E> iterator(); Object[] toArray(); <T&原创 2021-04-22 10:15:14 · 124 阅读 · 0 评论 -
java基础-Java集合框架-集合框架概述
Java集合框架-集合框架概述一方面,面向对象语言对事物的体现都是以对象的形式,为了方便对多个对象的操作,就要对对象进行存储。另一方面,使用Array存储对象方面具有一些弊端,而Java集合就像一种容器,可以动态地把多个对象的引用放入容器中。数组在内存存储方面的特点:数组初始化后,长度就确定了。数组声明的类型,就决定了进行元素初始化时的类型数组在存储数据方面的弊端:数组初始化后,长度就不可变了,不便于扩展数组中提供的属性和方法少,不便于进行添加、删除、插入等操作,且效率不高。同时原创 2021-04-21 22:17:24 · 93 阅读 · 0 评论