Java基础_集合概述以及Colletion集合

集合

1.集合的概述
(1).集合的来由
我们学习的是面向对象的语言,而面向对象语言对事物的描述是通过对象体现的,为了方便对多个对象进行操作,我们必须把这个对象进行
存储,而要想存储多个对象,就不能是一个基本的变量,而应该是一个容器类型的变量,在我们目前所学过的只是里面,有哪一些是容器类
型的呢?
数组和StrngBuffer。但是呢?StringBuffer的结果是一个字符串,不一定满足我们的要求,所以我们只能够选择数组,也就是对象数组。
而对象数组又并不能够适应变化的需求,因为数组的长度是固定不变的,这一个时候,为了适应变化的需求。Java就提供了集合类公供
我们使用。

(2).集合和数组的区别?
A:长度区别
数组的长度是固定的
集合的长度是可变的
B:内容不同
数组存储的是同一种类型的元素
集合可以存储不同类型的元素
C:元素的数据类型问题
集合可以存储基本类型的数据(如:int byte),也可以存储引用类型数据,如Student,String类型等
数组只可以存储基本类型。

(3).集合的结构体系
Java提供了很多种的集合,他们数据结构不同,但是他们肯定存在着共性的内容(如:存储,获取,判断等),通过不断的向上提取,他们就可以
获得一个集合的继承结构体系,而在这一个结构体系中,collection是老大,之后还有一些继承它的一些东西。

2.Collection类概述

(1).Collection类的功能概述
添加功能:
boolean add(Object obj):添加一个元素
boolean addAll(Collection c):添加一个集合的元素

(2).删除功能
void clear():移除所有的元素
boolean remove(Object o):移除一个元素
boolean removeAll(Collection c):移除一个集合的元素

(3).判断功能
boolean contains(Object o):判断集合中是否包含指定的元素
boolean containsAll(Collection c):判断集合中是否包含指定的合集元素

(4).获取功能
Iterator<E> iterator()

(5).长度功能
int size():获取元素的个数

(6).交集功能
boolean retainAll(Collection c):俩个集合都有元素

(7).把集合转化为数组
Object[] toArray();

集合遍历元素实现:
public class Test {
public static void main(String[] args) {
Collection c=new ArrayList();
c.add("hello");
c.add("world");
c.add("java");
Iterator it= c.iterator();
while(it.hasNext()){
String s=(String)it.next();//向下转型
System.out.println(s);
}
}
}
//输出结果
hello
world
java

(8).迭代器原理
迭代器为什么不定义成为一个类,而是定义成为一个接口?
解:假设接待器定义成为一个类,这样,我们就可以创建该类的对象,调用该类的方法来实现集合的遍历,但是我们需要考虑一个问题,
那就是,在Java中提供了许多的集合类,而这一些集合类的数据结构是不相同的,所以存储和遍历的方法也应该不相同,而遍历它的方
式也应该是不一样的,所以最终没有定义成为一个类,而是定义成为一个接口。

原文地址:https://www.cnblogs.com/nwxayyf/p/9532293.html

时间: 2024-10-10 02:36:43

Java基础_集合概述以及Colletion集合的相关文章

Java基础_集合泛型

泛型 1.泛型概述 我们在集合中存储数据的时候,存储了String和Integer俩种类型的数据.而在遍历的时候,我们把它当做是String类型处理,做了转化,所以 会报错.但是呢?它在编译期间却没有告诉我们.所以我们觉得这一个设计的不好.所以集合也模仿着数组中在定义之前指明数据的类型,在 创建对象的时候明确元素的数据类型.这样就不会存在问题了.这一种技术被称为泛型. 2.泛型 是一种把类型明确的工作推迟到创建对象或者调用方法的时候才去明确的特殊类型.参数化类型,把类型当作参数传递. 3.泛型定

java基础(7):自定义类、ArrayList集合

1. 引用数据类型(类) 1.1 引用数据类型分类 提到引用数据类型(类),其实我们对它并不陌生,如使用过的Scanner类.Random类. 我们可以把类的类型为两种: 第一种,Java为我们提供好的类,如Scanner类,Random类等,这些已存在的类中包含了很多的方法与属性,可供我们使用. 第二种,我们自己创建的类,按照类的定义标准,可以在类中包含多个方法与属性,来供我们使用. 这里我们主要介绍第二种情况的简单使用. 1.2 自定义数据类型概述 我们在Java中,将现实生活中的事物抽象成

java基础第十二篇之集合、增强for循环、迭代器和泛型

Collection接口中的常用方法: * 所有的子类子接口都是具有的 * 集合的方法:增删改查 * * public boolean add(E e);//添加元素 返回值表示是否添加成功 * public boolean remove(Object o);//删除元素,返回值表示是否删除成功 * 没有修改方法 * 查询元素的方法没有,但是 * public int size();//查询集合集合中元素的个数 * //其他方法: * public void clear();//清空集合 * p

Java基础教程(1)--概述

一.什么是Java语言 ??Java是于1996年由Sun公司发布的一种极富创造力的面向对象的程序设计语言.它不仅吸收了C++语言的各种优点,还摒弃了C++里难以理解的多继承.指针等概念,因此Java语言具有功能强大和简单易用两个特征.Java语言作为静态面向对象编程语言的代表,极好地实现了面向对象理论,允许程序员以优雅的思维方式进行复杂的编程. 二.Java的特点 ??Java的设计者编写了颇具影响力的白皮书,用来解释设计的初衷和Java的特性.这一小节将会对这些术语进行解释. 简单性 ??J

java基础_集合

集合1.List:继承Collection接口,实现类有ArrayList LinkedList Vector ;有序,值可重复,可以存储空值: ①List遍历方法: 1 public static void main(String[] args) { 2 List<String> list = new ArrayList<String>(); 3 //插入数据 4 list.add(null);list.add("a");list.add("b&qu

黑马程序员——【Java基础】——File类、Properties集合、IO包中的其他类

---------- android培训.java培训.期待与您交流! ---------- 一.File类 (一)概述 1.File类:文件和目录路径名的抽象表现形式 2.作用: (1)用来将文件或文件夹封装成对象 (2)方便于对“文件”与“文件夹属性信息”进行操作 (3)File对象,可以作为参数传递给流的构造函数 (二)构造方法 * 通过File的构造函数创建File对象 方式1:File f = new File("c:\\a.txt"); 方式2:File f2 = newF

Java基础第二十四天总结——集合

目录: 一.Map接口 二.Collection工具类 /*---------------分割线---------------------*/ 一.Map接口 Map中的key用Set来存放,不可重复.作为一个Map对象所对应的类,需重写hashCode和equals方法. HashMap是Map接口使用频率最高的实现类. 添加.删除.修改操作: Object put(Object key,Object value):将指定key-value添加到(或修改)当前map对象中 void putAl

【BigData】Java基础_接口

接口概念 Java接口是一系列方法的声明,是一些方法特征的集合,一个接口只有方法的特征没有方法的实现,因此这些方法可以在不同的地方被不同的类实现,而这些实现可以具有不同的行为(功能). 以下是个人理解: 在软件开发过程中,当我们开发一个大型项目的时候,可能很多人一起共同开发一个项目,但是整个项目分为很多模块,我们不能按照顺序去开发模块,等A团队开发测试完毕第一个模块,B团队才开始开发第二个模块,这样的话,如果A团队出现延期,那么将会影响整个项目的开发进度,所以这种串行的开发方式是不行的,那么我们

JAVA基础_泛型

什么是泛型 泛型是提供给javac编译器使用的,可以限定集合中的输入类型,让编译器挡住源程序中的非法输入,编译器编译带类型说明的集合时会去除掉"类型"信息,是程序的运行效率不受影响,对于参数化的泛型类型,getClass()方法返回值和原始类型完全一样.由于编译生成的字节码会擦除泛型的类型信息,只要能跳过编译器,就可以往某个泛型集合中加入其它类型的数据,例如,用反射得到集合,然后再调用add()方法即可 GenericDemo.java public class GenericDemo