集合框架(01)Collection
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的更多相关文章
- Java学习--java中的集合框架、Collection接口、list接口
与数组相比:1.数组的长度固定,而集合的长度可变2.数组只能通过下表访问元素,类型固定,而有的集合可以通过任意类型查找所映射的具体对象 java集合框架:collection(list序列,queue ...
- Java集合框架之Collection接口
Java是一门面向对象的语言,那么我们写程序的时候最经常操作的便是对象了,为此,Java提供了一些专门用来处理对象的类库,这些类库的集合我们称之为集合框架.Java集合工具包位于Java.util包下 ...
- Java中集合框架,Collection接口、Set接口、List接口、Map接口,已经常用的它们的实现类,简单的JDK源码分析底层实现
(一)集合框架: Java语言的设计者对常用的数据结构和算法做了一些规范(接口)和实现(实现接口的类).所有抽象出来的数据结构和操作(算法)统称为集合框架. 程序员在具体应用的时候,不必考虑数据结构和 ...
- java 集合框架(三)Collection
一.概述 Collection是集合框架的根接口.不同的集合具有不同的特性,比如有的集合可以有重复元素,有的不可以,有的可以排序,有的不可排序,如此等等,而Collection作为集合的根接口,它规范 ...
- Java基础学习(四)-- 接口、集合框架、Collection、泛型详解
接口 一.接口的基本概念 关键字为:Interface,在JAVA编程语言中是一个抽象类型,是抽象方法的集合.也是使用.java文件编写. 二.接口声明 命名规范:与类名的命名规范相同,通常情况下 ...
- 集合框架小结-Collection
1.集合框架作为处理对象的容器存在,基本接口是Collection,相对于数组而言的话,集合框架只能存储对象,但是长度是可变的.集合框架的关系图如下: 主要的内容是list.set.map, List ...
- Java集合框架(Collection Framework)学习之 Collection与Map概貌
写过Java的人都知道Java集合类,也用过Java集合类.Java集合类位于 java.util 这个包下,就像它的包名暗示的那样,Java集合类就是一套工具.它就像工匠的工具箱一样,它能给使用它的 ...
- Java 集合框架之Collection
此图是 java 中 Collection 相关的接口与类的关系的类图.其中,类只是集合框架的一部分,比较常用的一部分. 第一次画类图,着实很费劲,不过收获也不小. 下面是相关接口和类的解释说明.文字 ...
- java集合框架01——总体框架一览
java集合框架是java提供的工具包,在java.util.*中,这个包中包含了常用的数据结构:集合.数组.链表.栈.队列.映射等.java集合框架主要可以分为四个部分:List列表.Set集合.M ...
- Java基础之集合框架(Collection接口和List接口)
首先我们说说集合有什么作用. 一.集合的作用 1.在类的内部,对数据进行组织: 2.简单而快速的搜索大数量的条目: 3.有的集合接口,提供一系列排列有序的元素,并且可以在序列中间快速的插入或者删除有关 ...
随机推荐
- 安装启动Apache2.4后报Invalid command 'Order', perhaps misspelled or defined by a module not included in the server configuration错误
LoadModule access_compat_module modules/mod_access_compat.so 取消这一行模块的注释,再重启服务即可. 搜索 mod_access_compa ...
- JavaScript之实现单选复选、菜单以及返回顶部实例
1.单选.复选以及反选实例 其实主要是利用for循环提取标签,然后更改checked属性值实现的 <!DOCTYPE html> <html lang="en"& ...
- Nginx主要模块常用指令说明
核心模块(Core Modules): 主模块(Main Module):配置和服务器全局有关的一些参数,比如错误日志.进程.权限等 user worker_processes error_logsy ...
- [AT2699]Flip and Rectangles
题目大意:有一个$n\times m$的$01$矩阵,可以把任意行或列反转,问最大的全为一的子矩阵的面积 题解:有一个结论:若一个子矩形$S$中的任意一个$2\times 2$的子矩形都含有偶数个$1 ...
- P1494 [国家集训队]小Z的袜子/莫队学习笔记(误
P1494 [国家集训队]小Z的袜子 题目描述 作为一个生活散漫的人,小\(Z\)每天早上都要耗费很久从一堆五颜六色的袜子中找出一双来穿.终于有一天,小\(Z\)再也无法忍受这恼人的找袜子过程,于是他 ...
- vue虚拟dom原理
Virual DOM是用JS对象记录一个dom节点的副本,当dom发生更改时候,先用虚拟dom进行diff,算出最小差异,然后再修改真实dom. vue的virtual dom的diff算法是基于sn ...
- 《c程序设计语言》读书笔记-3.5-按要求进制位数字转字符串
#include <io.h> #include <stdio.h> #include <string.h> #include <stdlib.h> # ...
- tcpreplay 流量拆分算法研究
1.1 算法目的 现在网络架构一般是Client-Server架构,所以网络流量一般是分 C-S 和 S-C 两个方向.tcpdump等抓包工具获取的pcap包,两个流向的数据没有被区分.流量方向的 ...
- kvm虚拟机最佳实践系列1-kvm宿主机准备
KVM宿主机配置 系统环境:ubuntu16, bond0 业务网口 bond1 管理网口+存储网口 安装KVM环境支持 sudo apt-get install qemu-kvm sudo apt- ...
- 数据库--MyBatis的(insert,update,delete)三种批量操作
转自:http://blog.csdn.net/starywx/article/details/23268465 前段时间由于项目赶期没顾上开发过程中的性能问题,现对部分代码进行优化的过程中发现在数据 ...