Java---25---集合框架共性方法

集合类

为什么会出现集合类

面向对象语言对事物的体现都是以对象的形式,所以为了方便对较多个对象的操作,就对对象进行存储,集合就是存储对象最经常使用的一种方式

数组和集合类同一时候容器,有何不同?

数组尽管也能够存储对象,可是长度不可变。集合的长度是可变的。数组中能够存储基本数据类型,集合仅仅能存储对象。

集合类的特点:

集合仅仅用于存储对象。集合长度是可变的,集合能够存储不同类型的对象。

为什么会出现这么多的容器呢?

由于每个容器对数据的存储方式都有不同

这个存储方式称之为:数据结构

共性方法:(Collection 的方法)

增、删、改、查。

方法摘要
 boolean add(E e)

确保此 collection 包括指定的元素(可选操作)。

 boolean addAll(Collection<?

extends
E> c)

将指定 collection 中的全部元素都加入到此 collection 中(可选操作)。

 void clear()

移除此 collection 中的全部元素(可选操作)。

 boolean contains(Object o)

假设此 collection 包括指定的元素,则返回 true

 boolean containsAll(Collection<?> c)

假设此 collection 包括指定 collection 中的全部元素。则返回 true

 boolean equals(Object o)

比較此 collection 与指定对象是否相等。

 int hashCode()

返回此 collection 的哈希码值。

 boolean isEmpty()

假设此 collection 不包括元素,则返回 true

 Iterator<E> iterator()

返回在此 collection 的元素上进行迭代的迭代器。

 boolean remove(Object o)

从此 collection 中移除指定元素的单个实例,假设存在的话(可选操作)。

 boolean removeAll(Collection<?

> c)

移除此 collection 中那些也包括在指定 collection 中的全部元素(可选操作)。

 boolean retainAll(Collection<?

> c)

仅保留此 collection 中那些也包括在指定 collection 的元素(可选操作)。

 int size()

返回此 collection 中的元素数。

 Object[] toArray()

返回包括此 collection 中全部元素的数组。

<T> T[]
toArray(T[] a)

返回包括此 collection 中全部元素的数组;返回数组的执行时类型与指定数组的执行时类型同样。

add 方法的參数类型是Object 以便于接收随意类型的对象

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

import java.util.ArrayList;

public class Main {

	public static void main(String[] args) {
		//method_1();
		method_2();
	}

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

		al1.add("abc01");
		al1.add("abc02");
		al1.add("abc03");
		al1.add("abc04");

		al2.add("abc01");
		al2.add("abc02");
		al2.add("abc05");
		al2.add("abc06");

		al1.removeAll(al2);//去除al1与al2的交集,保存在al1中

		sop(al1);
		sop(al2);
		/*
		 * 打印结果:
		 * [abc03, abc04]
		 *
		 * [abc01, abc02, abc05, abc06]
		 *
		 * */
	}

	public static void method_1() {
		// 创建一个集合容器。使用Collection接口的子类ArrayList
		ArrayList a1 = new ArrayList();
		// 加入元素
		a1.add("abc01");
		a1.add("abc02");
		a1.add("abc03");
		a1.add("abc04");

		// 获取个数 集合长度
		System.out.println(a1.size());
		// 打印集合
		System.out.println(a1);
		// 删除元素
		a1.remove("abc03");
		System.out.println(a1);
		/*
		 * 打印结果 4 [abc01, abc02, abc03, abc04] [abc01, abc02, abc04]
		 */
		// a1.clear();//清空集合

		// 推断某一元素是否在集合中
		System.out.println(a1.contains("abc01"));
		// 推断集合是否为空
		System.out.println(a1.isEmpty());

	}

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

===============================迭代器=============================

迭代器事实上就是集合用来取出元素的方式。

取出元素并能够对元素进行操作。

方法摘要
 boolean hasNext()

假设仍有元素能够迭代。则返回 true

 E next()

返回迭代的下一个元素。

 void remove()

从迭代器指向的 collection 中移除迭代器返回的最后一个元素(可选操作)。

public class Main {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		ArrayList al1 = new ArrayList();

		al1.add("abc01");
		al1.add("abc02");
		al1.add("abc03");
		al1.add("abc04");
//		Iterator it = al1.iterator();//获取迭代器,用于取出集合中的元素
//
//		//sop(it.next());//返回迭代的下一个元素。
//
//		sop(it.hasNext());//假设仍有元素能够迭代。则返回 true
//		while (it.hasNext())
//		{
//			sop(it.next());
//		}
		for (Iterator it = al1.iterator();it.hasNext();){
			sop(it.next());
		}

	}
	public static void sop(Object obj) {
		System.out.println(obj);
	}
}
时间: 2024-10-07 03:41:41

Java---25---集合框架共性方法的相关文章

黑马程序员---java基础---集合框架工具类:Collections和Arrays

------<a href="http://www.itheima.com" target="blank">Java培训.Android培训.iOS培训..Net培训</a>.期待与您交流! ------        Collections 一.概述 Collections是对集合框架的一个工具类.它里边的方法都是静态的,不需要创建对象.并未封装特有数据. 在Collections工具类中大部分方法是用于对List集合进行操作的,如比较,二

java的集合框架之一

java是一套很成熟的东西,很多商用的东西都喜欢用它,用的人多,稳定.不过一般也不怎么说起它,因为太常见了,私下里说,写java应用层得就像农民工,每一处都是搭积木,根据设计师的东西如何优雅地搭好积木,当然美其名曰,论农民工搭积木的艺术修养.不难,但是东西很多,经验在里面是一个相当重要的东西.以上纯属每天扯淡,笑看即可,毕竟我目前就是个渣java程序员. java的集合框架以collection接口当作基础,这个接口定义了基本框架,包括size.hashcode.iterator.add.add

java.util 集合框架集合

java的集合框架为程序提供了一种处理对象组的标准方式.设计了一系列标准泛型接口: ⑴Collection ()接口,扩展了Iterable接口,位于集合层次结构的顶部,因此所有的集合都实现Collection接口,并提供了iterator()方法来返回一个迭代器.用add()方法添加对象,remove方法()删除元素,clear()删除集合所有元素(size=0),contains()方法查看集合是否包含对象,toArray()方法返回集合元素数组,equals()方法比较两个集合是否相等,s

java的集合框架最全详解

java的集合框架最全详解(图) 前言:数据结构对程序设计有着深远的影响,在面向过程的C语言中,数据库结构用struct来描述,而在面向对象的编程中,数据结构是用类来描述的,并且包含有对该数据结构操作的方法. 在Java语言中,Java语言的设计者对常用的数据结构和算法做了一些规范(接口)和实现(具体实现接口的类).所有抽象出来的数据结构和操作(算法)统称为Java集合框架(JavaCollectionFramework). Java程序员在具体应用时,不必考虑数据结构和算法实现细节,只需要用这

Java的集合框架最全详解(图)

纯个人整理,如有错误请指正. java的集合框架最全详解(图) 前言:数据结构对程序设计有着深远的影响,在面向过程的C语言中,数据库结构用struct来描述,而在面向对象的编程中,数据结构是用类来描述的,并且包含有对该数据结构操作的方法. 在Java语言中,Java语言的设计者对常用的数据结构和算法做了一些规范(接口)和实现(具体实现接口的类).所有抽象出来的数据结构和操作(算法)统称为Java集合框架(JavaCollectionFramework). Java程序员在具体应用时,不必考虑数据

黑马程序员——java基础---集合框架

------Java培训.Android培训.iOS培训..Net培训.期待与您交流! ------- 一.集合框架 概念:集合框架是Java中为了方便对集合进行存储.操作而形成的体系.集合是针对对象最常见的一种存储形式. 数组和集合类同是容器,区别在哪里?     相同点:               集合和数组都是容器,都可一存储对象(对象引用).     不同点:               数组长度固定,集合长度可变.               数组可以存储基本数据类型,集合却只能存储

JAVA常用集合框架用法详解基础篇一之Colletion接口

首先,在学习集合之前我们能够使用的可以存储多个元素的容器就是数组. 下面举几个例子主要是引出集合类的: 1.8,4,5,6,7,55,7,8  像这样的类型相同的可以使用数组来存储,本例可以用int[] arr来存储. 2."zhnagsan",true,68 像这样的可以使用StringBuilder或者StringBuffer来存储,但最终需要使用.toString()的方法转换成字符串才可以使用.即 变为:"zhnagsantrue68". 3."李

Java 之集合框架 上(9)

Java 中的集合框架 如果一个类中存在很多相同类型的属性. 例如:学生类 学生可以选课,因此存在很多课程类型的属性.但是每个学生选择的课程的种类和数量是不一样的. 如果将每一个课程类型的属性都列到课程类中,这样就很难定义学生类了. 这时我们可以利用容器,把所有的课程类型的属性都加入到容器中,再将这个容器整体作为学生类的一个属性 上面所说的容器就是Java中的集合. 集合的概念: 现实生活中:很多的事物凑在一起.例如 超市中的购物车是商品的集合.军队是军人的集合 数学中的集合:具有共同属性的事物

java习题-集合框架-泛型

集合框架 一 去除List集合中的重复元素. 思路: 1,先创建一个临时容器.用于存储唯一性的元素.2,遍历原容器,将遍历到的元素到临时容器中去判断,是否存在.3,如果存在,不存储到临时容器,如果不存在,存储到临时容器中.4,遍历结束后,临时容器中存储的就是唯一性的元素.5,如果需要将这些唯一性的元素保留到原容器中,只要将原容器清空,将临时容器中的元素添加到原容器中即可.代码实现 package cn.itcast.api.b.list.subclass; import java.util.Ar

Java:集合框架的工具类

集合框架的工具类 Arrays:里面都是静态方法,直接用来对各种集合进行操作的公有方法. Collections:里面都是静态方法,直接用来对各种集合进行操作的公有方法. 包括: 1.asList将数组变成list集合: static <T> List<T> asList(T... a) 返回一个受指定数组支持的固定大小的列表. //例子1: import java.util.*; class ArraysTest { public static void sop(Object o