集合框架(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.有的集合接口,提供一系列排列有序的元素,并且可以在序列中间快速的插入或者删除有关 ...
随机推荐
- 孤荷凌寒自学python第五十五天初识MongoDb数据库
孤荷凌寒自学python第五十五天第一天初识MongoDb数据库 (完整学习过程屏幕记录视频地址在文末) 大家好,2019年新年快乐! 本来我想的是借新年第一天开始,正式尝试学习爬虫,结果今天偶然发现 ...
- NodeJs01 文件浏览器
ES6常用新语法 前言 是时候学点新的JS了! 为了在学习NodeJs之前,能及时用上语言的新特性,我们打算从一开始先学习一下JavaScript语言的最基本最常用新语法.本课程的内容,是已经假设你有 ...
- 微信小程序--动态添加class样式
尺寸单位: rpx(responsive pixel): 可以根据屏幕宽度进行自适应.规定屏幕宽为750rpx.如在 iPhone6 上,屏幕宽度为375px,共有750个物理像素,则750rpx = ...
- javascript replace 替换全部字符
$("#pageNote").html($("#note3").val().replace(/ /g, "").replace(/<b ...
- java GUI Graphics2D 绘图
Graphics类提供基本绘图方法,Graphics2D类提供更强大的绘图能力.本节讲解Graphics类,下节讲解Graphics2D. Graphics类提供基本的几何图形绘制方法,主要有:画线段 ...
- POJ 3041 Asteroids | 匈牙利算法模板
emmmmm 让你敲个匈牙利 #include<cstdio> #include<algorithm> #include<cstring> #define N 51 ...
- BZOJ1821 [JSOI2010]Group 部落划分 Group 【最小生成树】
题目 聪聪研究发现,荒岛野人总是过着群居的生活,但是,并不是整个荒岛上的所有野人都属于同一个部落,野人们总是拉帮结派形成属于自己的部落,不同的部落之间则经常发生争斗.只是,这一切都成为谜团了--聪聪根 ...
- 洛谷 P1503 鬼子进村 解题报告
P1503 鬼子进村 题目背景 小卡正在新家的客厅中看电视.电视里正在播放放了千八百次依旧重播的<亮剑>,剧中李云龙带领的独立团在一个县城遇到了一个鬼子小队,于是独立团与鬼子展开游击战. ...
- HDU 1087 最大上升子序列的和
Super Jumping! Jumping! Jumping! Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 ...
- WKWebview 和 WebViewJavascriptBridge
WKWebview 和 WebViewJavascriptBridge https://www.cnblogs.com/L-vincen/p/6681435.html 链接在这里,有很多不错的文章,大 ...