您的位置:首页 > 编程语言 > Java开发

java学习之路的自我回顾5(集合)

2015-05-26 20:31 260 查看
java的集合类

集合类大致可分为:Set,Liet,Map,Queue

1.Set 代表无序,不可重复的集合

2.List 代表有序,可重复的集合

3.Map 代表具有映射关系的集合

4.Queue 代表一种队列集合实现

java的集合类大致可以理解为是一个容器,ta不管对象的类型是什么,都能将其载入

上面提到的映射关系,其实简单来说,就是2个数组,一个装语文成绩,一个装数学成绩,虽然是2个数组,但是他们之间会有联系,比如一个人的语文和数学成绩,这就是映射关系,传统的数组来储存这种数据时会显得力不从心,因此java提供了集合类,用来保存盛装其他数据。

集合类位于java.util包下

Set集合形象的比喻就像是一个大罐子,所有的对象(实际是引用)杂乱无章的堆叠在里面,有点像曲奇罐,而罐子里的没块曲奇都是不一样的,因此,只能通过对象名(引用名)才能找到

List就像是一个数组,然而ta是没有尾的,不过按我的理解,事实上是不可能无限的,内存空间毕竟是有限的,每个储存在里面的对象(引用)都是按序排列的,我们可以通过序号来检索对象

Map也像是一个曲奇罐,但是ta的每块曲奇都带有一个标签,我们可以根据这个标签去查询对象(引用),这也是和Set的很大不同,Set不用装入2个相同的对象,而Map可以

Set,List,Map最常用的实现类为HashSet,ArrayList,HashMap

collection接口是Set,List,Queue接口的父接口,所以collection的函数也可以用来操作以上三种集合

大致用法

import java.util.ArrayList;
import java.util.Collection;
import java.util.HashSet;

public class demo
{
public static void main(String [] args)
{
Collection c=new ArrayList();

//添加一条元素
c.add("hello world");
//再添加一条元素
c.add(10);//虽然集合内只能装载对象(实际是引用),但是java可以自动转换为对象,所以可以放入数字

System.out.println("c中元素数为"+c.size());

//删除元素
c.remove(10);
System.out.println("c中元素数为"+c.size());

//判断集合中是否存在“hello world”元素
System.out.println("c中是否存在 hello world 元素"+c.contains("hello world"));

//再添加一条元素
c.add("hello java");
System.out.println("c中元素为"+c);

//新建一个Set集合
Collection d=new HashSet();

//添加2条元素
d.add("hello java");
d.add("hello python");

System.out.println("c是否完全包含d"+c.containsAll(d));

//用d集合的元素减去c中的元素
System.out.print("c中元素还有"+c);

//删除c中元素
c.clear();

System.out.println("c中元素"+c);

//将集合d与集合c做集合相交运算
d.retainAll(c);
System.out.println("d中元素为"+d);
}
}


程序输出

c中元素数为2
c中元素数为1
c中是否存在 hello world 元素true
c中元素为[hello world, hello java]
c是否完全包含dfalse
c中元素还有[hello world, hello java]c中元素[]
d中元素为[]


collection接口(我感觉叫对象可能会好点吧)的函数参考清单



这种东西最好不要背,用的时候查一下会比较好,用多了就自然而然记住了
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  java 容器