集合概述

在没有学习集合之前,我们用来存储多个对象的时候只能采用数组的方式。但是Java中的数组有一些缺点非常明显: 数组的长度在声明的时候就确定了,不能动态的修改 数组中提供的属性和方法少,不便于进行添加、删除、插入等操作,且效率不高。同时无法直接获取存储元素的个数。 获取数组中实际元素的个数的需求,数组没有现成的属性或方法可用 数组存储数据的特点:有序、可重复。对于无序、不可重复的需求,不能满足。 集合…

Collection接口常用方法

Collection接口是List、Set和Queue接口的父接口,该接口里定义的方法既可用于操作 Set 集合,也可用于操作 List 和 Queue 集合。 JDK不提供此接口的任何直接实现,而是提供更具体的子接口(如:Set和List)实现。 在 Java5 之前,Java 集合会丢失容器中所有对象的数据类型,把所有对象都当成 Object 类型处理;从 JDK 5.0 增加了 泛型以后,J…

Iterator迭代器接口

Iterator对象称为迭代器(设计模式的一种),主要用于遍历 Collection 集合中的元素。 GOF给迭代器模式的定义为:提供一种方法访问一个容器(container)对象中各个元素,而又不需暴露该对象的内部细节。 迭代器模式,就是为容器而生。 Collection接口继承了java.lang.Iterable接口,该接口有一个iterator()方法,那么所有实现了Collection接…

Collection子接口之List

List接口作为Collection的子接口之一,它用来存储有序的、可重复的元素。List的主要实现类有:ArrayList、LinkedList以及vector。 常用方法 List接口额外声明了一些常用的方法。 Modifier and Type Method Description void add(int index, E element) Inserts the specified el…

Collection子接口之Set

Set接口是Collection的子接口之一,它用来存储无序的、不可重复的元素。和Collection另一个子接口List不同,该子接口没有提供额外的方法。Set还有一个主要特点是:它存储的元素不能修改,只能新增和删除。 Set接口的主要实现类有:HashSet、TreeSet,另外HashSet还有一个子类LinkedHashSet。这三个类中,HashSet是开发中使用率最高的。 无序性理解 …

Map简介

Map与Collection并列存在。用于保存具有映射关系的数据:key-value(类似php关联数组),是开发中常用到的一种数据结构。 |—-Map:双列数据,存储key-value对的数据 ​ |—-HashMap:作为Map的主要实现类;线程不安全的,效率高;存储null的key和value ​ |—-LinkedHashMap:保证在遍历map元素时,…

Map常用方法

以下都是以HashMap做例子 添加、删除、修改操作 put&putAll(添加、修改) Modifier and Type Method Description V put(K key, V value) Associates the specified value with the specified key in this map (optional operation). put用…

Map接口几个常见的实现类

HashMap HashMap是 Map接口使用频率最高的实现类 允许使用null键和null值,与HashSet一样,不保证映射的顺序。 所有的key构成的集合是Set:无序的、不可重复的。所以,key所在的类要重写:equals()和hashCode() 所有的value构成的集合是Collection:无序的、可以重复的。所以,value所在的类要重写:equals() 一个key-valu…

Collections工具类

Collections 是一个操作 Set、List 和 Map 等集合的工具类。Collections 中提供了一系列静态的方法对集合元素进行排序、查询和修改等操作,还提供了对集合对象设置不可变、对集合对象实现同步控制等方法。 Modifier and Type Method Description static <T> void copy(List<? super T>…