最近开始复习以前学的集合框架,在网上看了看,教程还是以前那个版本,虽然很详细,但内容太繁杂,不易于阅读,对于初学者来说,学习起来也更为吃力,因此,今天写了这篇教程,以供初学者学习参考(绝对原版),读后有成者,谢谢回帖支持,我将陆续推出此类易学版的Java教程!
JCF(Java Collection FrameWork)--Java集合框架。
JCF是我们学习Java开始接触的第一个框架。首先,Why....,为什么我们要学习这一框架,然后是What..,它是什么,最后是How...,我们怎么去用它,围绕这3点我们开始今天JCF的学习。
1.Why
大家在学习Java应该已经学习了数组,它是具有相同类型的索引集合,不知大家在学习数组是有没有发现一个问题,就是他的空间固定性,只要它的内存空间一旦定义下来就不可改变,这样以来,给我们在实际的操作中带来了很大的不便,甚至是一些简单的需求,一旦使用数组,麻烦就会接踵而来,为了解决数组空间固定性所带来的麻烦,我们引用了JCF,他的到来,使许多问题迎刃而解,以前数组再困难的操作,在JCF面前就会变得异常简单。
2.What
JCF顾名思义就是Java的集合框架,他实现了用一个对象对多个对象的操作,他由许多的类和接口组成,通过使用它所提供的类和接口,可以大量减少我们的工作量,提高性能等等好处,集合框架可以大致分为三成三块;以下是集合框架的基本结构图,大家在学习集合框架和必须做到心中由此图:
3.How(进入此阶段者务必先弄清楚上图各接口各类的关系,如不知哪些是接口哪些是实现类可参考JDK文档)
在学习集合框架时,大家不用把每个类每个接口的方法都拿来记,只需要把公共的记住,再记一些类特有的方法就行了。
我们分为三大类来学,一个是Collection接口,一个是Map接口,一个是集合的辅助类。
--添加、删除
boolean add(Object object);
boolean remove(Object object);
--查询
int size() 集合长度
boolean isEmpty(); 是否为空
boolean contrans(); 是否存在
对于一组操作
boolean addAll(collection c);
boolean removeAllection c);
boolean contransAllection c);
它的两个子接口特有方法:
List接口: get()、set();
此接口实现类:ArraytList-----最适合查询,广泛使用;
Vector--------和ArrayList相似,但是是线程安全的(被synchronized修饰);
LinkedList-------由于其内存空间是不连续的,为链表方式,因此它适合增删该操作;
这些实现类的方法大家不用再记,只需记住List接口和Collection接口的方法就行了!
集合类教程详解一(易学版)就到这里,大家其实不用忙着进入教程二,可以先记一记JCF结构图和练习一下Collection接口这一块的操作!然后泡一杯咖啡,打开魔兽玩一把!