java集合类学习小记

【List接口】:可变数组,允许保存所有类型元素,包括null,元素可重复,按添加顺序保存
【常用实现类】:建议用ArrayList
ArrayList:索引访问速度快(但插入和删除节点较慢)
LinkedList:链表结构,插入删除节点很快(但随机访问节点对象效率低)
【常用方法】:
boolean add(E e)
boolean remove(Object o)
int size()
E get(int index)
E set(int index,E)

【Set接口】:不按特定方式排序,元素不能重复
【常用实现类】:建议使用TreeSet
HashSet:由哈希表支持,实际是一个HashMap实例,不保证元素顺序恒久不变,允许null
TreeSet:遍历时自动按自然顺序递增排序,允许null
【常用方法】:
boolean add(E e)
boolean remove(Object o)
int size()
【TreeSet常用方法】:
E first():最小元素
E last():最大元素
Comparator comparator() : 返回排序用的比较器(自然序,则返回null)
SortedSet headSet(E to) : to(不含)前面的子集
SortedSet subSet(E from,E to) : 从from(含)到to(不含)的子集
SortedSet tailSet(E from) : from(含)后面的子集

由于TreeSet集合中的元素在插入时会自动调用元素的compareTo()方法进行排序,所以TreeSet集合中的

元素如果是基本类型,则无需实现Comparable接口【因为很多java中的类(包括所有基本类型)已经实现

了Comparable接口】,如果是自定义类型的对象,则该类型必须实现Comparable接口中的compareTo()方

法,这样通过add()方法插入到TreeSet集合后,才能保证自动排序时不会出现错误。

【Map接口】:提供key到value的唯一映射,不含相同的key,
【常用实现类】:建议使用HashMap,因为添加和删除映射的效率更高
TreeMap: 不允许null键
HashMap:基于哈希表的Map接口的实现,通过散列技术,用key产生的散列码作偏移量来决定存储对象在映

射中的位置,允许null值和null键,但必须保证键的唯一性
【常用方法】:
V get(Object key):返回指定键所映射的值;如果此映射不包含该键的映射关系,则返回 null
V put(K key,V value):将指定的值与此映射中的指定键关联。如果该映射以前包含此键的映射关系,那

么将用新值替换旧值,并返回该旧值,否则返回null【返回null也可能表示之前key映射指向null】
void putAll(Map m):将指定m的映射关系复制存储到调用者映射中
V remove(Object key):如果存在指定键的映射关系,则将其从此映射中移除,并返回关联该键的值,否

则返回null【返回null也可能表示之前key映射指向null】
int size():
boolean containsKey(Object key):如果此映射包含指定键的映射关系,则返回 true。
boolean containsValue(Object value):如果此映射将一个或多个键映射到指定值,则返回 true
Set keySet():返回此映射中包含的键的 Set 视图(保证键的唯一性)
Collection<V> values():返回此映射中包含的值的 Collection 视图

原文地址:http://blog.51cto.com/maplebb/2156261

时间: 2024-10-16 10:21:34

java集合类学习小记的相关文章

Java基础学习小记--多态

题外话:总结了多年的学习心得,不得不说,睡眠是一个学习者的必需品!所谓“早起毁一天”不是没有道理哪,特别对Coders来说,有几天不是加班到夜里.好吧,我承认对于初学Java的我,昨日头脑顿路,Java的继承与多态,看得我是有点小懵逼.其实大致是懂了,不过到了具体应用中,特别是比较复杂的继承和调用关系的时候些许迷路.好了,话不多说,明日再把继承和多态来个总结,今日先对多态来个小记. ---------------------------------------------------------

Guava:好用的java类库 学习小记

基础功能 google guava中定义的String操作 在google guava中为字符串操作提供了很大的便利,有老牌的判断字符串是否为空字符串或者为null,用指定字符填充字符串,以及拆分合并字符串,字符串匹配的判断等等. 1. 使用com.google.common.base.Strings类的isNullOrEmpty(input)方法判断字符串是否为空 1 //Strings.isNullOrEmpty(input) demo 2 String input = ""; 3

Java 集合类学习之Vector

package com.fish.list; import java.util.Enumeration; import java.util.Vector; /* 集合 的体系: ------------| Collection 单例集合的根接口 ----------------| List 如果是实现了List接口的集合类,具备的特点: 有序,可重复.  -------------------| ArrayList  ArrayList 底层是维护了一个Object数组实现的. 特点:查询速度快

Java 集合类学习之HashSet

package com.fish.set; import java.util.HashSet; import java.util.Set; /* 集合 的体系: ------------| Collection 单例集合的根接口 ----------------| List  如果是实现了List接口的集合类,具备的特点: 有序,可重复.  -------------------| ArrayList  ArrayList 底层是维护了一个Object数组实现的. 特点: 查询速度快,增删慢.

Java 集合类学习之ArrayList

1.ArrayList的常用方法和原理 package com.fish.list; import java.util.ArrayList; /* 集合的体系: ----------| Collection 单列集合的根接口 ----------------| List 如果实现了List接口的集合类,具备的特点:有序,可重复. --------------------| ArrayList  ArrayList底层是维护了一个Object数组实现的,特点:查询速度快,增删慢. 什么时候使用Ar

Java 集合类学习之LinkedList

1.linkedList的方法和原理 package com.fish.list; import java.util.Iterator; import java.util.LinkedList; /* 集合的体系: ----------| Collection  单列集合的根接口 ----------------| List 如果实现了List接口的集合类,具备的特点: 有序,可重复. --------------------| ArrayList   ArrayList 底层是维护了一个Obj

Java 集合类学习之Map

package com.fish.map; import java.util.HashMap; import java.util.Map; /* 在现实生活中有些数据是以映射关系存在的,也就是成对存在的,比如:  民政局 : 键         值 老公        老婆 ***      人 一把要锁     锁 双列集合: -------------| Map  如果是实现了Map接口的集合类,具备的特点: 存储的数据都是以键值对的形式存在的,键不可重复,值可以重复. ----------

Java 集合类学习之HashMap

package com.fish.map; import java.util.HashMap; /* 双列集合: -------------| Map  如果是实现了Map接口的集合类,具备的特点: 存储的数据都是以键值对的形式存在的,键不可重复,值可以重复. ----------------| HashMap  底层也是基于哈希表实现 的. HashMap的存储原理: 往HashMap添加元素的时候,首先会调用键的hashCode方法得到元素 的哈希码值,然后经过运算就可以算出该 元素在哈希表

Java集合类学习总结

Java的集合类分为两个类型,Collection和Map,Collection又分为Set和List. 1. 集合类中元素是否相同 HashSet使用equals和HashCode两个函数共同决定 TreeSet使用comparable接口中的compareTo,或者comparator中的compare函数 ArrayList使用equals函数 HashMap中的key和HashSet相同,value使用equals函数 TreeMap中的key和TreeSet相同,value使用equa