1.集合:存储对象。 对象多了用集合存,数据多了用对象存

2.数组是固定长度,集合是不固定长度;数组是相同数据类型,集合是存储不同类型的对象

3

.

4.为什么会出现这么多的容器那,因为每一个容器对数据的存储方式都有不同,这个存储方式称之为:数据结构

5.集合中存放的不是实体,里面存放的实体的地址,===集合中存储的都是对象的引用(地址)

6.add方法参数类型是Object,以便于接受任意类型的对象

7.方法.retainAll()就是去掉交集,保留两个ArrayList中相同的元素

8.什么是迭代器那?其实就是集合的取出元素的方式

迭代器的例子:

package sxy;
import java.util.*; public class CollectionDemo { /**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub List list = new ArrayList();
list.add("apple");
list.add("pear");
list.add("orage"); Iterator it = list.iterator();//迭代器用于遍历集合元素
while(it.hasNext()){
sop(it.next());
} } private static void sop(Object obj) {
// TODO Auto-generated method stub
System.out.println(obj);
} }

9.就是把取出方式定义在集合内部,这样取出方式就可以直接访问集合内容的元素。那么取出方式就被定义成了内部类。而每一个容器的数据结构不同,所以出去的动作细节也不一样,但是都有共性内容的判断和取出,那么可以将写成共性抽取。

那么这些内部类都符合一个规则,该规则是Iterator,如何获取集合的取出对象那?通过一个对外提供的方法iterator()

10.Collection:

-----List:元素是有序的,元素可以重复,因为该集合体系有索引

-----Set:元素是无序的,元素不可以重复

利用迭代器对集合中的元素进行操作:

package sxy;
import java.util.*; public class CollectionDemo { /**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub List list = new ArrayList();
list.add("apple");
list.add("pear");
list.add("orage");
sop(list); //在迭代器中,准备删除元素
Iterator it = list.iterator();
while(it.hasNext()){
Object obj = it.next();
if(obj.equals("pear")){
it.remove();
}
}
sop(list); } private static void sop(Object obj) {
// TODO Auto-generated method stub
System.out.println(obj);
} }

在迭代时,不可以通过集合对象的方法操作集合中的元素。因为会发生并发修改异常,所以,在迭代器时,只能用迭代器的方法操作元素,但是Iterator方法时有限得瑟,只能对元素进行判断,取出和删除操作,如果想要其他的操作比如添加,修改等,就需要使用其子接口ListIterator,该接口只能通过List集合的ListIterator方法获取

集合框架(01)Collection的更多相关文章

  1. Java学习--java中的集合框架、Collection接口、list接口

    与数组相比:1.数组的长度固定,而集合的长度可变2.数组只能通过下表访问元素,类型固定,而有的集合可以通过任意类型查找所映射的具体对象 java集合框架:collection(list序列,queue ...

  2. Java集合框架之Collection接口

    Java是一门面向对象的语言,那么我们写程序的时候最经常操作的便是对象了,为此,Java提供了一些专门用来处理对象的类库,这些类库的集合我们称之为集合框架.Java集合工具包位于Java.util包下 ...

  3. Java中集合框架,Collection接口、Set接口、List接口、Map接口,已经常用的它们的实现类,简单的JDK源码分析底层实现

    (一)集合框架: Java语言的设计者对常用的数据结构和算法做了一些规范(接口)和实现(实现接口的类).所有抽象出来的数据结构和操作(算法)统称为集合框架. 程序员在具体应用的时候,不必考虑数据结构和 ...

  4. java 集合框架(三)Collection

    一.概述 Collection是集合框架的根接口.不同的集合具有不同的特性,比如有的集合可以有重复元素,有的不可以,有的可以排序,有的不可排序,如此等等,而Collection作为集合的根接口,它规范 ...

  5. Java基础学习(四)-- 接口、集合框架、Collection、泛型详解

    接口 一.接口的基本概念 关键字为:Interface,在JAVA编程语言中是一个抽象类型,是抽象方法的集合.也是使用.java文件编写.   二.接口声明 命名规范:与类名的命名规范相同,通常情况下 ...

  6. 集合框架小结-Collection

    1.集合框架作为处理对象的容器存在,基本接口是Collection,相对于数组而言的话,集合框架只能存储对象,但是长度是可变的.集合框架的关系图如下: 主要的内容是list.set.map, List ...

  7. Java集合框架(Collection Framework)学习之 Collection与Map概貌

    写过Java的人都知道Java集合类,也用过Java集合类.Java集合类位于 java.util 这个包下,就像它的包名暗示的那样,Java集合类就是一套工具.它就像工匠的工具箱一样,它能给使用它的 ...

  8. Java 集合框架之Collection

    此图是 java 中 Collection 相关的接口与类的关系的类图.其中,类只是集合框架的一部分,比较常用的一部分. 第一次画类图,着实很费劲,不过收获也不小. 下面是相关接口和类的解释说明.文字 ...

  9. java集合框架01——总体框架一览

    java集合框架是java提供的工具包,在java.util.*中,这个包中包含了常用的数据结构:集合.数组.链表.栈.队列.映射等.java集合框架主要可以分为四个部分:List列表.Set集合.M ...

  10. Java基础之集合框架(Collection接口和List接口)

    首先我们说说集合有什么作用. 一.集合的作用 1.在类的内部,对数据进行组织: 2.简单而快速的搜索大数量的条目: 3.有的集合接口,提供一系列排列有序的元素,并且可以在序列中间快速的插入或者删除有关 ...

随机推荐

  1. CentOS vim中backspace不能用,出现^?的解决方法

    查看在VI配置器下面使用backspace删除时提示输出那个字符例如:^H.^?.^a等字符如果输出的是:^? 字符 则使用以下命令:[oracle@junyii~]$ stty erase ^? 再 ...

  2. HA集群基本概念详解

    一.高可用集群的定义 二.高可用集群的衡量标准 三.高可用集群的层次结构 四.高可用集群的分类 五.高可用集群常用软件 六.共享存储 七.集群文件系统与集群LVM 八.高可用集群的工作原理 一.高可用 ...

  3. Mini-MBA记录

    最近学完了Mini-MBA的课程,对课程讲述的人力资源,创新,财务,战略,领导力等方面有了更深一些的了解,在此之上也做了一些笔记,如果课程信息披露是被允许的,后续把这些笔记贴出来,作为自己以后的参考.

  4. 网络--NAT技术

    一.概述 1.简介 NAT英文全称是“Network Address Translation”,中文意思是“网络地址转换”,它是一个IETF(Internet Engineering Task For ...

  5. 积累: .net里有个线程安全的int+1类

     Interlocked.Increment(ref id); 

  6. ajax是可以本地运行的

    ajax是可以本地运行的,经过验证,可以是可以,但跟浏览器有关,火狐和新IE可以,chrome不可以,旧ie不知道什么原因也不可以.但是浏览器也有它的安全策略,必须是同一目录下的文件可以访问.chro ...

  7. 【bzoj4952】[Wf2017]Need for Speed 二分

    题目描述 已知$\sum\limits_{i=1}^n\frac{d_i}{s_i+c}=t$,求$c$ $(d_i>0,s_i+c>0)$ 输入 第一行包含两个整数n(1≤n≤1000) ...

  8. hdu 1007 Quoit Design (最近点对问题)

    Quoit Design Time Limit: 10000/5000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)Tot ...

  9. [BZOJ3600] 没有人的算术 [重量平衡树+权值线段树]

    题面 传送门 思路 这道题目是陈立杰论文<重量平衡树和后缀平衡树在信息学奥赛中的应用 >中关于重量平衡树维护序列排名算法的一个应用 具体方法为:令根节点保存一个实数区间$[0,1]$ 若当 ...

  10. linux进程服务监测流程

    进程->端口监听->查阿里云端口开放->看防火墙 ps -ef | grep redis   ->netstat -an |grep redis->安全组设置端口放行规则 ...