Java集合框架01

数据结构

计算机存储组织数据的方式

数组:数据是连续的,遍历查询的时候效率高

链表:数据不是连续的,分为单向链表和双向链表,在插入元素和删除元素的时候效率高。

队列:先进先出型的数据结构

栈:先进后出型

哈希表:是通过哈希算法获得一个哈希码,通过哈希码快速查出数据。

树、图

集合框架

集合存储数据时,长度是可变的,可以存储任意类型的数据。

Collection 是集合框架的父接口。子接口 List和Set

List接口下的对象 存储的数据 是 有序可重复的。

set接口下的对象 存储的数据是 无序不可重复的。

List接口下的实现类

ArrayList类

是一个基于数组的集合(封装了一个数组),在遍历元素的时候效率高,在频繁的增加和删除元素的时候效率低。

API方法

contains方法:是通过给定对象和集合对象做equals比较,如果有一个是true,则结果就是真。

remove方法:如果参数是int  则按索引删除,如果参数是引用类型  则按对象删除(用参数的对象和集合中的对象做equals比较,找到第一个比较结果为true的对象,将其删除)

LinkedList

是基于链表数据结构的集合,在频繁增加或删除元素的时候效率高,遍历的时候效率低。

####       需求一

 频繁的增加删除元素,不用ArrayList要使用LinkedList

##### 	需求二

LinkedList也可以当成一个队列来使用

针对队列的方法:

	offer()	向队列尾部添加数据。

	poll()	从队列头获得数据并从队列中删除。

##### 	需求三

	可以当成一个栈使用

	push()   压栈   将数据存入栈顶

	pop()     弹栈   获得栈顶数据,并移除栈顶数据

Vector类

线程安全,效率低。而ArrayList和LinkedList都是线程不安全的。

Stack类

实现栈数据结构的集合

push()

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值