集合类

为什么会出现集合类

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

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

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

集合类的特点:

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

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

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

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

共性方法:(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);
}
}

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

  1. java的集合框架最全详解

    java的集合框架最全详解(图) 前言:数据结构对程序设计有着深远的影响,在面向过程的C语言中,数据库结构用struct来描述,而在面向对象的编程中,数据结构是用类来描述的,并且包含有对该数据结构操作 ...

  2. java.util 集合框架集合

    java的集合框架为程序提供了一种处理对象组的标准方式.设计了一系列标准泛型接口: ⑴Collection ()接口,扩展了Iterable接口,位于集合层次结构的顶部,因此所有的集合都实现Colle ...

  3. Java基础——集合框架

    Java的集合框架是Java中很重要的一环,Java平台提供了一个全新的集合框架.“集合框架”主要由一组用来操作对象的接口组成.不同接口描述一组不同数据类型.Java平台的完整集合框架如下图所示: 上 ...

  4. java的集合框架之一

    java是一套很成熟的东西,很多商用的东西都喜欢用它,用的人多,稳定.不过一般也不怎么说起它,因为太常见了,私下里说,写java应用层得就像农民工,每一处都是搭积木,根据设计师的东西如何优雅地搭好积木 ...

  5. 浅谈Java的集合框架

    浅谈Java的集合框架 一.    初识集合 重所周知,Java有四大集合框架群,Set.List.Queue和Map.四种集合的关注点不同,Set 关注事物的唯一性,List 关注事物的索引列表,Q ...

  6. java的集合框架set 和map的深入理解

    Java的集合框架之Map的用法详解 Map有两种比较常用的实现:HashMap 和 TreeMap. HashMap: HashMap 也是无序的,也是按照哈希编码来排序的,允许使用null 值和n ...

  7. Java 高级-集合框架

    参考资料 参考 HashMap 类似 C++ 中的 STL 标准模板库,Java 也在 java.util 包中封装了一套常用数据结构及其算法,称为集合框架.所有的集合框架都包含如下内容: 接口:代表 ...

  8. java学习——集合框架(Collection,List,Set)

    集合类的由来: 对象用于封装特有数据,对象多了需要存储,如果对象的个数不确定,就使用集合容器进行存储. 集合特点:1,用于存储对象的容器.2,集合的长度是可变的.3,集合中不可以存储基本数据类型值. ...

  9. 十五、Java基础---------集合框架体系以及List

    在介绍集合之前先说一下数组,正如我们所知,数组是某一类型数据的集合,强调的是数据,而且必须单一:集合框架的不同之处在于存储的数据类型没有任何限制,既可以存储基本数据类型(会自动提升为相应的包装类)也可 ...

  10. Java的集合框架综述

    集合 用于存储和管理数据的实体被称为数据结构(data structure).数据结构可用于实现具有不同特性的集合对象,这里所说的集合对象可以看作一类用于存储数据的特殊对象. 集合内部可以采用某种数据 ...

随机推荐

  1. 基于visual Studio2013解决面试题之1102合并字符串

     题目

  2. 解决外网与内网或内网之间的通信,NAT穿透

    在网络编码中会发现程序在局域网中是可以适用的,但是在外网与内网之间和内网与内网之间就不可行.问题就在于NAT.首先介绍下NAT. NAT的作用NAT(Network Address Translato ...

  3. Linux下sed,awk,grep,cut,find学习笔记

    awk awk是一种程序语言,对文档资料的处理具有很强的功能.awk擅长从格式化报文或从一个大的文本文件中抽取数据. awk的命令格式为: awk [-F filed-separator] “comm ...

  4. 一起C语言中程序时序问题的排查过程

    [文章摘要] 对于由多个模块协同工作的软件来说,程序处理的时序是很重要的.当消息处理的顺序出现混乱时,程序就会出现异常. 本文基于作者的实际项目经验.对软件模块之间的时序问题进行了具体的分析,为相关软 ...

  5. 《Swift Programming Language 》——Swift中怎样使用继承(Inheritance)

    一个类能够继承(inherit)还有一个类的方法(methods),属性(property)和其他特性.当一个类继承其他类时,继承类叫子类(subclass),被继承类叫超类(或父类,supercla ...

  6. CentOS 配置 ssh

      默认安装ssh是有的.只是hosts访问问题. 1.在hosts.deny文件尾添加sshd:ALL意思是拒绝所有访问请求 [root@localhost ~]# vi /etc/hosts.de ...

  7. tq2440+fedora安装qt4.5

    1. make[1]: arm-none-linux-gnueabi-g++:命令未找到 make[1]: *** [.obj/release-shared-emb-arm/qatomic_arm.o ...

  8. 深入浅出Hadoop Mahout数据挖掘实战(算法分析、项目实战、中文分词技术)

    Mahout简介 Mahout 是 Apache Software Foundation(ASF) 旗下的一个开源项目, 提供一些可扩展的机器学习领域经典算法的实现,旨在帮助开发人员更加方便快捷地创建 ...

  9. 【Cocos2d-X开发学习笔记】第28期:游戏中音乐和音效的使用

    本系列学习教程使用的是cocos2d-x-2.1.4(最新版为3.0alpha0-pre) ,PC开发环境Windows7,C++开发环境VS2010 UI在游戏中占有很重要的地位,但吸引玩家的除了这 ...

  10. HDU 1030 Delta-wave 数学题解

    给出一个数字塔,然后求沿着数字之间的边走,给出两个数字,问其路径最短的长度是多少. 看似一条搜索题目,只是有一定做题经验的人都知道,这个不是搜索题,直接搜索肯定超时. 这个是依据规律计算的数学题目. ...