今天是开学第一天,按照上学期的讲课进度,本该是可以开始学习多线程了,但是由于换了老师,可能交接方面有点出入,又给我们讲授了一遍java对象容器,所以这也是为什么题目为“再学”。
本文目录:
- 集合的主要用途
- 单值类集合:List类与Set类
- 键值对类集合:Map类
集合的主要用途:集合主要在查询数据返回的时候常用。比如要使用jsp做一个学生信息管理系统,需要从数据库中返回查询学生的结果,把这些结果放入一个集合里,再通过方法返回,在显示层(view)可以使用jsp标签来把他们显示出来。
单值类集合:单值类集合包括List与Set这两大类,两类都是继承自Collection根接口。在这两大接口类中又可以细分为好几个实现该接口的类,主要有一下这几个:
List
优点 |
缺点 | 特点 | |
ArrayList | 便于集合快速随机访问 | 删除效率低 | 异步 |
LinkedList |
便于插入和删除对象 | 随机访问效率低 | ----- |
List迭代方式:迭代list可以用get(Index)方法,也可以使用增强的for循环foreach来迭代,亦可使用迭代器来遍历。
Set
treeSet | 有序的,自然数排序,但是必须实现Comparable接口,重写ComoareTo()方法。 | 不可重复 |
HashSet | 无序的,主要依据equals和hashcode判断是否是同一对象 | 不可重复 |
Set的迭代不能使用get方法,可以使用迭代器和增强的for循环来遍历。
Map
课堂上主要将了HashMap,它是一种键值对集合,键Key是不允许重复的,一个键只能对应一个值,但是一个值可以对应多个键。常用来在不同页面之间传递数据。比如在jsp中使用的request.setAttribute() / getAttribute()就是使用此种集合实现的。
HashMap有一个方法 entrySet()值得一提。
public Set<Map.Entry<K,V>> entrySet()
此方法返回此映射中所包含的映射关系set的试图,通俗来说,也就是装有以一对一对的<K,V>的实体的set中(装在set中)此时可以使用迭代set的方法去迭代每一个HashMap实体。
=========================END=================
第一次写博客感觉好蛋疼,用到是Window Live Writer,代码也没贴,图也没有,草草几句就收场,总感觉这编辑器用的不是那么顺手,不如word,写起来像吃苍蝇一样不顺畅, 我是不是不适合写博客?这么高大上的东西。
java之j2se:再学java对象容器,布布扣,bubuko.com