JavaSE学习_13_list_set_map
来源:互联网 发布:同花顺软件k线图 编辑:程序博客网 时间:2024/06/17 13:16
1、list(有序可重复)
API!!
list接口常见实现类:
1)ArrayList:底层用数组实现,线程不安全,相对linkedList-->修改,读取效率高,删除,插入效率低
2)LinkedList:底层用双向链表实现,线程不安全,相对ArrayList-->修改,读取效率低,删除,插入效率高
3)Vector:底层用数组实现,线程安全,相对ArrayList-->效率低
list容器的遍历:
1)普通for
2)迭代器(容器的管理员):作用,就是用来把容器的所有元素遍历
遍历步骤
a)通过容器拿到管理者,iterator()
b)循环遍历-->while
1)管理者->有没有下一个元素,boolean hasNext(),有返回true,没有返回false
2)管理者->拿出下一个元素next()
API!!
1)HashSet:底层是hashmap实现的(哈希表)
2)TreeSet:底层是treemap实现的(树),可以对容器的元素自动排序(性能不好)
通常情况下-->hashset性能比treeSet好
一般使用-->hashset
set的遍历,没有下标:
1)增强for-->利用iterable
2)迭代器-->利用Iterator
要注意删除元素是对象的时候要在对象对应的类里面重写hashCode和equals方法,默认调用Object的比较的是地址,删除不了
3、map
API!!
map的各种实现类:
HashMap:底层单向链表加数组实现,线程不安全
Hashtable:底层单向链表加数组实现,线程安全,【键和值都不能为null】
Properties:继承于Hashtable,要求【键和值】必须是【String类型】,
通常用来和Properties文件进行交互(读取文件内容,写内容到文件)
TreeMap:底层是红黑树,加入到map的元素自动排序。性能比 HashMap差
map的三种遍历:
一种遍历值,只需要map容器的所有值
values
后面两种遍历键和值,需要map容器的所有键和值
keySet2
entrySet(里面存的是键值对)
API!!
list接口常见实现类:
1)ArrayList:底层用数组实现,线程不安全,相对linkedList-->修改,读取效率高,删除,插入效率低
2)LinkedList:底层用双向链表实现,线程不安全,相对ArrayList-->修改,读取效率低,删除,插入效率高
3)Vector:底层用数组实现,线程安全,相对ArrayList-->效率低
list容器的遍历:
1)普通for
2)迭代器(容器的管理员):作用,就是用来把容器的所有元素遍历
遍历步骤
a)通过容器拿到管理者,iterator()
b)循环遍历-->while
1)管理者->有没有下一个元素,boolean hasNext(),有返回true,没有返回false
2)管理者->拿出下一个元素next()
3)增强for
API!!
1)HashSet:底层是hashmap实现的(哈希表)
2)TreeSet:底层是treemap实现的(树),可以对容器的元素自动排序(性能不好)
通常情况下-->hashset性能比treeSet好
一般使用-->hashset
set的遍历,没有下标:
1)增强for-->利用iterable
2)迭代器-->利用Iterator
要注意删除元素是对象的时候要在对象对应的类里面重写hashCode和equals方法,默认调用Object的比较的是地址,删除不了
3、map
API!!
map的各种实现类:
HashMap:底层单向链表加数组实现,线程不安全
Hashtable:底层单向链表加数组实现,线程安全,【键和值都不能为null】
Properties:继承于Hashtable,要求【键和值】必须是【String类型】,
通常用来和Properties文件进行交互(读取文件内容,写内容到文件)
TreeMap:底层是红黑树,加入到map的元素自动排序。性能比 HashMap差
map的三种遍历:
一种遍历值,只需要map容器的所有值
values
后面两种遍历键和值,需要map容器的所有键和值
keySet2
entrySet(里面存的是键值对)
0 0
- JavaSE学习_13_list_set_map
- javase学习之JavaSE环境安装
- JavaSE学习之路
- JavaSE学习笔记--反射
- JavaSE学习笔记--泛型
- JavaSE学习笔记--内省
- javaSE学习-----IO
- javaSE学习-----IO
- javaSE 集合类学习
- javaSE学习笔记
- javase学习网址
- JAVASE学习笔记一
- JAVASE学习笔记二
- javaSE学习笔记3
- JavaSE学习笔记
- JavaSE学习笔记--Annotation
- javaSe学习前奏
- javaSE注解的学习
- Android 如何检索Android设备的唯一ID
- 《CSS揭秘》案例
- thinkphp实现定位功能
- MVP 谷歌demo小解(三)
- 在windows风格下设置JButton的背景色
- JavaSE学习_13_list_set_map
- centos 安装AMQP扩展的方法和步骤
- 抽象类和接口理解
- SpringMVC 开发接口
- 特约商户, 超多福利
- Android-LayoutInflater分析
- Printer
- HTML中IFrame父窗口与子窗口相互操作
- java将获取到的file文件下载到任意位置