黑马程序员:Java基础——集合框架之体系概述、共性方法与迭代器
2014-10-22 16:16
661 查看
-------
Java EE培训、java培训、期待与您交流! ----------
1.2.2 集合长度是可变的
1.2.3 数组中可以存储基本数据类型,集合只能存储对象。
1.3.2 集合长度是可变的
1.3.3 集合可以存储不同类型的对象
Q&A:
Q:为什么会出现这么多的容器呢?
A:因为每一个容器对数据的存储方式都有所不同。
这种存储方式称之为:数据结构。
以下是示例代码:
扩展
1.add方法的参数类型是Object,以便于接收任意类型对象。
2.集合中存储的都是对象的引用(地址)。
然而我们知道,每一个容器的数据结构不同,所取出的动作细节也不一样,但都有一个共性的内容:判断和取出。那么可以将这些共性进行抽取。
那么这些内部类都符合一个规则,该规则就是Iterator。那又如何获取集合的取出对象呢?通过一个对外提供的方法:iterator()。
以下是Iterator的代码:
Java EE培训、java培训、期待与您交流! ----------
1.体系概述
1.1 为什么出现集合类?
面向对象语言对事物的体现都是以对象的形式,所以为了方便对多个对象的操作,就对对象进行存储,集合就是存储对象最常用的一种方式。1.2 数组和集合类同事容器,有何不同?
1.2.1 数组虽然也可以存储对象,但长度是固定的1.2.2 集合长度是可变的
1.2.3 数组中可以存储基本数据类型,集合只能存储对象。
1.3 集合类的特点
1.3.1 集合只用于存储对象1.3.2 集合长度是可变的
1.3.3 集合可以存储不同类型的对象
1.4 集合的体系结构
Q&A:
Q:为什么会出现这么多的容器呢?
A:因为每一个容器对数据的存储方式都有所不同。
这种存储方式称之为:数据结构。
2.共性方法
在集合中有一些共性的方法,分别有:增,删,查(获取)。以下是示例代码:
import java.util.ArrayList; public class CollectionDemo { public static void main(String[] args) { base_retain(); } public static void base_retain(){ ArrayList a1 = new ArrayList(); a1.add("Java01"); a1.add("Java02"); a1.add("Java03"); a1.add("Java04"); ArrayList a2 = new ArrayList(); a2.add("Java05"); a2.add("Java06"); a2.add("Java01"); a2.add("Java02"); //a1.retainAll(a2); //取交集,a1中只会保留和a2中相同的元素 //a1.removeAll(a2); //将a1中,a1和a2的交集元素删除 a1.addAll(a2); //将a2中的所有元素存入a1里 sop("a1=" + a1); sop("a2=" + a2); } public static void base_method(){ ArrayList a1 = new ArrayList(); //1.添加元素 a1.add("Java01"); a1.add("Java02"); a1.add("Java03"); a1.add("Java04"); //2.获取个数,集合长度 sop("Size="+a1.size()); sop("a1="+a1); //3.删除元素 /*a1.remove("Java02"); sop("现在a1="+a1); a1.clear(); sop("a1="+a1+"--被清空");*/ //4.判断元素 sop("Java03是否存在:"+a1.contains("Java03")); sop("集合是否为空:"+a1.isEmpty()); } public static void sop(Object obj){ System.out.println(obj); } }
扩展
1.add方法的参数类型是Object,以便于接收任意类型对象。
2.集合中存储的都是对象的引用(地址)。
3.迭代器
在集合中去厨房是定义在了集合的内部,这样取出方式就可以直接访问集合内部的元素,那么取出方式就被定义成了内部类。然而我们知道,每一个容器的数据结构不同,所取出的动作细节也不一样,但都有一个共性的内容:判断和取出。那么可以将这些共性进行抽取。
那么这些内部类都符合一个规则,该规则就是Iterator。那又如何获取集合的取出对象呢?通过一个对外提供的方法:iterator()。
以下是Iterator的代码:
public static void method_get(){ ArrayList a1 = new ArrayList(); a1.add("Java01"); a1.add("Java02"); a1.add("Java03"); a1.add("Java04"); /*Iterator it = a1.iterator(); while(it.hasNext()){ sop(it.next()); //String il = it.next().toString(); if(!"Java02".equals(il)){ sop(il); } }*/ for(Iterator it = a1.iterator();it.hasNext();){ sop(it.next()); } }推荐使用for循环遍历,这样it在用完以后就会自动释放。
相关文章推荐
- Java基础 集合框架 共性方法 迭代器 ArrayList LinkedList Vector HashSet TreeSet
- 集合框架(体系概述)-共性方法-迭代器
- 黑马程序员—java技术blog—第七篇集合整体基础框架概述
- 黑马程序员——java基础——集合框架(一:单列集合(Collection体系))
- 黑马程序员----JAVA基础集合框架_迭代器
- 黑马程序员——java基础——集合框架(二: 双列集合 (Map体系))
- 黑马程序员--07.集合框架--03.【列表List集合的共性方法】【列表迭代器ListIterator】
- 黑马程序员——Java语言基础——06.集合框架(1)集合框架概述和List、Set集合
- 黑马程序员——JAVA基础——集合---概述、Collection中共性方法、List、Map、工具类Collections和Arrays
- Java基础-集合框架(体系概述)
- 黑马程序员——Java基础——集合类、Collection、List体系、集合框架LinkedList操作等
- Java基础知识强化之集合框架笔记68:Collections类概述和成员方法(备注:Collection 和 Collections区别)
- JAVA 集合框架 共性方法和迭代器
- Java基础-集合框架(共性方法)
- 黑马程序员:Java基础——List集合共性方法,Iterator迭代和集合具体对象的特点
- java基础:集合框架之List(共性方法)
- 学习日记java 集合框架的共性方法及迭代器
- java基础:集合框架之Map(共性方法)
- 黑马程序员——java基础之集合框架(Collection 和 Map)
- 黑马程序员——Java基础---泛型、集合框架工具类:collections和Arrays