天天看点

Java学习

第十七天

collection 是对象集合, collection 有两个子接口 list 和 set,

list 可以通过下标 (1,2…) 来取得值,值可以重复,而 set 只能通过游标来取值,并且值是不能重复的

arraylist , vector , linkedlist 是 list 的实现类

arraylist 是线程不安全的, vector 是线程安全的,这两个类底层都是由数组实现的

linkedlist 是线程不安全的,底层是由链表实现的

map 是键值对集合

hashtable 和 hashmap 是 map 的实现类

hashtable 是线程安全的,不能存储 null 值

hashmap 不是线程安全的,可以存储 null 值

arraylist

数组列表,封装了一个数组,及其操作代码和更便捷的方法,内部数组默认初始容量10 放满后,1.5倍增长

方法

add(数据)— 添加数据;get(int i)—访问指定下标数据; remove(int i)移除指定位置数据,返回被移除的数据; remove(数据)— 找到第一个相等的数据,找到移除并返回true,找不到返回false; size() 元素的数量;iterator() 辅助新建迭代器

效率

访问任意位置效率高,增删数据效率可能降低

linkedlist — 双向链表

和arraylist有相同的方法

linkedlist 两端数据操作方法

addfirst(数据);addlast(数据);getfirst();getlast();removefisrt()

removelast()