欢迎来到天天文库
浏览记录
ID:42611639
大小:69.05 KB
页数:12页
时间:2019-09-18
《黑马程序员_api_理解api》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、黑马程序员—API_理解API集合类为什么出现集合类而向对象的语言对事物的体现都是以对象的形式,所以为了方便对多个对彖的操作就对对象进行存储,集合就是存储对象最常用的一种方式数组和集合又和不同数组是固定长度集合长度不一定集合的类型町以不一致数组类型一定集合类的特点集合的长度可以改变,集合可以存储不同的对■象,容器的划分:数组,集合类*/class{publicstaticvoidmain(String[]args)System.out.println(HelloWorld!);通过层层的抽取变成一个集合框架抽取的东西可能
2、不能创建对象,所以看顶层,创建底层Collection就是集合类list列表和set设置接口list1ArrayList2LinkedList3Vectorset1HashSet2TreeSet为什么出现这样多的容器呢?因为每一个容器对数据的存储方式都有不同这个存储方式称之为:数据结构。Collection的共性方法是一个根接口add();添加一个元素addAll();可以添加一组元素clear()清空容器removeO移除一个元素removeAll()移除一堆元素HashCode()计算哈希值size()计算长度ret
3、aAll()计算交集e就可以理解代表Objectiteralor()就是取HlArrayList不是抽象的有构造方法importjava.util.*;classCollectionDemo{publicstaticvoidmain(String[]args){创建一个集合容器,使用Collection接口的子类ArrayListArrayListal=ncwArrayList();添加元素al.add(1);al.add(1);al.add(1);al.add(1);获取长度,集合长度sop(al.size());打印
4、集合sop()al;删除元素al.remove(1);判断元素al.contains(1);sop(al.isEmptyO);清空集合al.clear();打印改变后的集合sop()al;}publicstaticvoidsop(Objectobj){System,out.println(obj);)}往集合中存储对象,在栈和堆中的样了在栈中有Poal在堆内存中有Person对象,实例化了一个ArrayList集合中存储的不可能是对彖实体,存储只是对彖的地址。dd方法的参数类型是Object以便于接受任意类型的对象集合中
5、存储的都是对彖的引用,或者地址;all中只是保存和a!2中相同的元索,如果没有就返回空值。可以改变集合all中只是保存和al2中不同的元素,如果没有就返回原集合,可以改变集合元素的取出总接打印不可以,需要是取出元素操作元素iterator();是一个接口,叫迭代器接口next();hasnext();remove();什么是迭代器?其实就是集合的取出元素的份上,这个叫做迭代动作每个容器都有存储和取出的方式不同,因为集合的不同所以不注意用方法來表示对于収出不止一个动作,就把収出这个动作封装成了一个对象,因为数据结构不同所以
6、取出的细节也不一样,这是通过一个类完成的,定义这个类來操作元索,在内部类中最方便,每个容器小都有这个内部类这些东西多有一个共性,判断和取出,java把这些共性来定义在集合的内部,这样取出方式就可以直接访问集合内部的元索这样取岀方式就被定义成为了内部类,而每一个容器的不同所以取出的方式一也不一样,三十都有判断和取出,可以将这些东西抽取形成了一个接口叫iteratoer这些内部类都负荷一个规则就是iterator,如何获取集合的取出对象?通过一个对外捉供的方法。iterator。;比喻;大型电玩城,有一个収岀的夹子,大罐子就
7、是容器,夹子就是迭代器,夹子定义在容器的内部,夹子是一个复杂事物,要移动,打开,闭合夹了就是迭代器大型游戏级的夹子回事不一样的,但是他们拥有共有的好伙伴,必须通过对外暴露的功能才能操作夹子对彖,这样可以降低外部和内部的联系迭代器就是取出元索的夹子抽彖例了:就是一个抽彖接口,用new创建,在内部自己进行取出,判断的定义。对外访问受限制,容器的内部类的设计非常适合,还可以对外提供功能。写法:在外国用的是foi•循环来写因为他们觉得这个访问不安全,但是这样是没有区别的,只是节省了一点内存,比while循环Jimportjava
8、.uti1.*;classCollectionDemo{publicstaticvoidmain(String[]args){创建一个集合容器,使用Collection接口的子类ArrayListArrayListal=newArrayList();添加元索al.add(1);al.add(1);al.add(1);
此文档下载收益归作者所有