`

基础——Collection类0523

 
阅读更多
package cn.mmc.day14;
/*
Collection定义了集合框架的共性功能。
1,添加
	add(e);
	addAll(collection);

2,删除
	remove(e);
	removeAll(collection);
	clear();

3,判断。
	contains(e);
	isEmpty();

4,获取
	iterator();
	size();

5,获取交集。
	retainAll();
	//al1.retainAll(al2);
	//去交集,al1中只会保留和al2中相同的元素。

6,集合变数组。
	toArray();



1,add方法的参数类型是Object。以便于接收任意类型对象。

2,集合中存储的都是对象的引用(地址)


什么是迭代器呢?
其实就是集合的取出元素的方式。
如同抓娃娃游戏机中的夹子。

迭代器是取出方式,会直接访问集合中的元素。
所以将迭代器通过内部类的形式来进行描述。
通过容器的iterator()方法获取该内部类的对象。




*/
import java.util.*;
public class CollectionTest {

	/**
	 * @param args
	 */
	public static void main(String[] args) {
		ArrayList al = new ArrayList();

		//1,添加元素。
		al.add("java01");//add(Object obj);
		al.add("java02");
		al.add("java03");
		al.add("java04");
		
		/*
		Iterator it = al.iterator();//获取迭代器,用于取出集合中的元素。

		while(it.hasNext())
		{
			sop(it.next());
		}
		*/

		for(Iterator it = al.iterator(); it.hasNext() ; )//开发的时候使用这个,Iterator定义成了局部变量,for循环后 就释放了内存
		{
			sop(it.next());
		}
	}

	public static void method_get()
	{
		ArrayList al = new ArrayList();

		//1,添加元素。
		al.add("java01");//add(Object obj);
		al.add("java02");
		al.add("java03");
		al.add("java04");

		/*
		Iterator it = al.iterator();//获取迭代器,用于取出集合中的元素。

		while(it.hasNext())
		{
			sop(it.next());
		}
		*/

		for(Iterator it = al.iterator(); it.hasNext() ; )
		{
			sop(it.next());
		}
	}


	public static void method_2()
	{
		ArrayList al1 = new ArrayList();

		al1.add("java01");
		al1.add("java02");
		al1.add("java03");
		al1.add("java04");
		ArrayList al2 = new ArrayList();

		al2.add("java03");
		al2.add("java04");
		al2.add("java05");
		al2.add("java06");

		
		//al1.retainAll(al2);//去交集,al1中只会保留和al2中相同的元素。
		al1.removeAll(al2);

		sop("al1:"+al1);
		sop("al2:"+al2);




	}

	public static void base_method()
	{
		//创建一个集合容器。使用Collection接口的子类。ArrayList
		ArrayList al = new ArrayList();

		//1,添加元素。
		al.add("java01");//add(Object obj);
		al.add("java02");
		al.add("java03");
		al.add("java04");

		//打印原集合。
		sop("原集合:"+al);


		//3,删除元素。
		//al.remove("java02");
		//al.clear();//清空集合。


		//4,判断元素。
		sop("java03是否存在:"+al.contains("java03"));
		sop("集合是否为空?"+al.isEmpty());


		//2,获取个数。集合长度。
		sop("size:"+al.size());

		//打印改变后的集合。
		sop(al);

	}

	public static void sop(Object obj)
	{
		System.out.println(obj);
	}

}


集合体系:



迭代器内部实现:


  • 大小: 26.8 KB
  • 大小: 43.6 KB
分享到:
评论

相关推荐

    java基础——集合ArrayList ,LinkedList

    目录前言数组与集合区别集合描述集合格式方法ArrayList实例1.add(E e)2.add(int index, E element)3.addAll(Collection c)4.clear() 与 isEmpty()5.contains(Object o)6.indexOf(Object o)7.iterator()8.remove(int ...

    【后端】java基础(4.3)java中级基础之集合——Set

    我们今天要讲的是Collection的子类——List. List又有三个实现类: ArrayList LinkedList Vector 这三个都是list,至于什么是子类,我们会在对象那章去普及。他们三个相同点有: 都是list的实现类 都是有序的,也...

    【后端】java基础(4.4)java中级基础之集合——Map

    Map虽然也叫集合,但是它却不是Collection的子接口。它的底层结构是链表散列,也就是一个数组结构然后每个数组结构里包含的一个链表。我们平常直接叫它“键值(key——value)”结构。 map的实现接口有有不少,比如...

    【后端】java基础(4.2)java中级基础之集合——List

    接下来我们来说说Collection的另一个子接口Set。和List一样,Set也可以用来存放多个元素。我们主要来学习Set的三个实现类。 HashSet TreeSet LinkedHashSet 同样,它们之间的相同点有: 都是Set的实现类 存入的元素...

    大数据开发成长之路——Java基础(四)

    分为两块:Collection和Map,也称之为集合接口 集合类都存放在java.util包中 Collection Collection分别被List和Set继承 List List被AbstractList实现,然后分为3个子类,ArrayList,LinkedList和VectorList List是...

    Java开发技术大全 电子版

    7.5.2RandomAccessFile类使用示例——文件加密256 7.6控制台输入和输出257 7.6.1控制台输入类Scanner257 7.6.2格式化输出printf258 7.7序列化261 7.8本章小结264 第4篇Java中的高级技术 第8章Java的多线程...

    Java开发详解.zip

    031301_【第13章:Java类集】_认识类集、Collection接口笔记.pdf 031302_【第13章:Java类集】_List接口笔记.pdf 031303_【第13章:Java类集】_LinkedList类笔记.pdf 031304_【第13章:Java类集】_Set接口笔记.pdf ...

    深入浅出MFC【侯捷】

    简化的MFC程序结构——以Hello MFC为例 Hello程序程序代码 MFC程序的来龙去脉(causal relations) 我只借用两个类:CWinApp和CFrameWnd CWinApp——取代WinMain的地位 CFrameWnd——取代WndProc的地位 引爆器——...

    深入浅出MFC 2e

    类及其成员——谈封装(encapsulation) 基类与派生类:谈继承(Inheritance) this指针 虚拟函数与多态(Polymorphism) 类与对象大解剖 Object slicing与虚拟函数 静态成员(变量与函数) C++程序的生与死:兼谈...

    侯捷- -深入浅出MFC

    类及其成员——谈封装(encapsulation) 基类与派生类:谈继承(Inheritance) this指针 虚拟函数与多态(Polymorphism) 类与对象大解剖 Object slicing与虚拟函数 静态成员(变量与函数) C++程序的生与死:兼谈...

    数据结构与算法:语言描述(中英文)

    示范说明了Collection类。本章还介绍泛型编程的概念。泛型编程允许程序员编写一个类或一种方法,并且把它用于众多数据类型。泛型编程是C#语言一种重要的新特性(在C#2.0以及更高版本中可用)。这种特性是如此重要以...

    Java SE实践教程 源代码 下载

    4.1.1 流——Java I/O的基础 72 4.1.2 Java I/O库 72 4.2 练习 74 4.2.1 数据传送的通道 74 4.2.2 管道的一端 76 4.2.3 文件处理 78 4.2.4 基于对象的读写 80 4.2.5 NIO 85 4.3 小结 89 第5章 如何走得更稳...

    Java SE实践教程 pdf格式电子书 下载(一) 更新

    4.1.1 流——Java I/O的基础 72 4.1.2 Java I/O库 72 4.2 练习 74 4.2.1 数据传送的通道 74 4.2.2 管道的一端 76 4.2.3 文件处理 78 4.2.4 基于对象的读写 80 4.2.5 NIO 85 4.3 小结 89 第5章 如何走得更稳...

    Java SE实践教程 pdf格式电子书 下载(四) 更新

    4.1.1 流——Java I/O的基础 72 4.1.2 Java I/O库 72 4.2 练习 74 4.2.1 数据传送的通道 74 4.2.2 管道的一端 76 4.2.3 文件处理 78 4.2.4 基于对象的读写 80 4.2.5 NIO 85 4.3 小结 89 第5章 如何走得更稳...

    java初学者必看

    第17章 Java Web应用——JSP 17.1 JSP技术概述 17.2 JSP运行环境搭建 17.2.1 Tomcat下载与安装 17.2.2 Tomcat的环境变量配置 17.3 基本语法 17.3.1 HTML注释 17.3.2 隐藏注释 17.3.3 声明 17.3.4 表达式 ...

    Java JDK 7学习笔记(国内第一本Java 7,前期版本累计销量5万册)

    Jworld@TW技术论坛版主,Java权威技术顾问与专业讲师,Java畅销书作者——林信良全新力作。  国内第一本Java 7,前期版本累计销量5万册。  《Java JDK 7学习笔记》针对Java SE 7新功能全面改版,无论是章节架构或...

    Java8:Lambda表达式增强版Comparator和排序

     在这篇教程里,我们将要去了解下即将到来的JDK 8(译注,现在JDK 8已经发布了)中的Lambda表达式——特别是怎样使用它来编写Comparator和对集合(Collection)进行排序。  这篇文章是Baeldung上的“Java ——...

    数据结构与算法分析Java语言描述(第二版)

    表、栈和队列3.1 抽象数据类型3.2 表ADT3.2.1 表的简单数组实现3.2.2 简单链表3.3 JavaCollectionsAPI中的表3.3.1 Collection接口3.3.2 Iterator接口3.3.3 List接口、ArrayList类和LinkedList类3.3.4 例:remove...

    数据结构与算法分析-Java语言描述(第2版)_2_2

    3.1 抽象数据类型 3.2 表adt 3.2.1 表的简单数组实现 3.2.2 简单链表 3.3 javacollectionsapi中的表 3.3.1 collection接口 3.3.2 iterator接口 3.3.3 list接口、arraylist类和linkedlist类 3.3.4...

    数据结构与算法分析-Java语言描述(第2版)_1_2

    3.1 抽象数据类型 3.2 表adt 3.2.1 表的简单数组实现 3.2.2 简单链表 3.3 javacollectionsapi中的表 3.3.1 collection接口 3.3.2 iterator接口 3.3.3 list接口、arraylist类和linkedlist类 3.3.4...

Global site tag (gtag.js) - Google Analytics