java集合框架总结

Java 集合框架

一、Collection

a) List(接口)

i. arraylist

ii. Linkedlist

b) Set(接口)

i. Hashset

ii. Treeset

iii. linkedhashset

c) Queue

i. Queue

ii. priorityqueue

二、Map

a) Hashmap

b) Treemap

c) Linkedhashmap

 

List(按照插入的顺序保存元素)

List中最重要的两个类是linkedlistarraylist

àArraylist擅长于随机读取,但插入和删除较慢

àLinkedlist擅长于插入与删除,但随去读取方面较慢

重要方法:

Add(E e)    à添加对象,E为任意类型

Add(int index,E element)   à在指定的下标插入元素

Addall(collection)   à将一个collection内容添加到list中

Boolean contains(object o)   à查看是否含有这个object对象

Boolean containsall(collecton c) à查看是否含有该容器中的所有内容

Get(int index)  à获取index下标的元素值

Iterator()   à得到一个迭代器对象

Remove(index)/(object)  à移除index下标或者指明的object对象

Set(intdex,element) à将下标是index的内容梗概为element内容

Toarray()   à转换为一个array数组对象

 

 

Arraylist(类à可以通过下标访问数据)

重要方法:

Get(index)  à通过下标获取一个对象

Indexof(object)  à找到该object对象的下标值

Lastindexof(object) à找到这个object最后一次出现的下标值

 

 

 

 

Linkedlist(类à通过foreach方法访问数据)

Linkedlist是作为取代栈而新加了许多的功能,它通过双向链表实现

重要方法:

Addfirst(E)  à在list的开头添加元素

Addlast(E) à在list的末尾添加元素

Element() à获取linkedlist的头节点,但不删除该元素

Getfirst()  à获取linkedlist的头节点

Getlast()  à获取linkedlist的尾节点

Listiterator()  à获取listiterator对象,这个迭代器是可以向左向右随意前进的

Offer(E)  à在尾部添加一个e元素

Offerfirst(E)  à在开头添加一个E元素

Peek()   à返回头元素,但是不善处该元素

Peekfirst,peeklast   à同上

Poll()   à返回头元素并且将它删除

Pollfirst,polllast  à返回元素并且将它删除

Push(E)   à往linkedlist中添加元素

Pop()   à将头节点扔掉,返回头节点的值

 

HashSet

Hashset是基于hashmap实现的,底层是通过hashmap来保存所有元素的,因此hashset的实现比较简单,他的优点在于快速访问

重要方法

Boolean Add(E)  à将元素添加到set集合中,如果插入的是先前有过的数据,将返回false

 

Treeset

Treest始终处于一个排序的位置上,所以没有hashset快,但因为采用了特殊的处理手段,所以处理速度还是很快的

Subset(E1,E2)  à获取从E1到E2的一个距离

Add(E)  à将E元素添加到set中

 

Linkedhashset

保存了元素的插入顺序,它也具有较快的访问能力

Add(E)  à将元素E添加到set集合中

 

Queue

先进先出

Offer()  à添加元素,与add的区别在于,当队列为空没创建出来的时候,offer返回false,add会报错,它属于queue接口

Add()   à添加元素,属于list接口的内容

Peek()  à取顶部的对象

Poll()  à返回顶部的对象,并将对象删除掉

Remove()  à删除元素

 

 

Proirityqueue

基于优先级的一个队列,如果你没指定比较规则的话,那么默认的是值越小优先级越高,它是不允许nul值的

Add(E)

Offer(E)

Peek()

Poll()

Remove()

 

 

Hashmap

Hashmap用于快速访问

Pue(key,value)  à插入键和值

Get(key)    à获取对应键的值

Boolean Containskey(object)  à判断是否含有这个键

Boolean containsvalue(object) à判断是否含有这个值

Entryset()  返回一个set集合,其中的值就是这个map对象set<map.entity<key,value>>

 

Treemap

Treemap中的每一个自愿赌都是一个map.iterator对象,是一个简单的map对象

Containskey(object)

Containsvalue(object)

Entryset()

Get(key)  à获取对应键的值

Keyset()  à返回一个set集合,里面包裹了所有的key 

 

linkedhashmap

Linkedhashmap是hashmap的一个子类,它保留了插入的顺序,一般当输入顺序与输出循序想同时,推荐使用这种方式,即使当你向上强转之后,打印仍旧是插入时的顺序

Get(object)  à获得该键的值

 

访问集合框架的两种方式

一、通过迭代器iterator来获取,通过iterator.next返回的对象,进行强转就可以得到我们的所需要的对象

二、通过foreach语句来访问,但它只局限于使用在实现了collection接口的类

 

工具类

Arrays(类,但是它提供了一系列的静态方法)

Arrays.aslistà它可以实现将一个数组、{a,b}集合封装成为一个list,但是这个list是不允许添加和删除的,如果你执意要那么做,那么将会报unsupportedoperation

Collections(collections类导出的方法适合所有的集合)

àComparator<String> r=Collections.reverseOrder()得到一个逆序的比较器

àcollections.sort(list,r)从而可以实现将一个list逆序

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值