`

JavaSE09—Java类集框架

阅读更多
JavaSE09—Java类集框架

1. 类集接口
接口:
Collection接口:能操作对象组,它位于类集层次结构的顶层
List接口:拓展Collection去处理序列(对象的列表)
Set接口:拓展Collection去处理集合,集合必须包含唯一元素
SortedSet接口:拓展Set去处理排序集合

Collection接口是构造类集框架的基础,它表明所有类集都将拥有的核心方法:

boolean add(Object obj) 将obj加入到调用类集中。
boolean addAll(Collection c) 将c中的所有元素都加入到调用类集中
void clear() 从调用类集中删除所有元素
boolean contains(Object obj) 如果obj是调用类集中的一个元素,返回true
boolean equals(Object obj) 如果调用类集与obj相等,则返回true
int hashCode() 返回调用类集的散列码
boolean iterator() 返回调用类集的迭代程序
boolean remove(Object obj) 从调用类集中删除obj的一个实例
boolean isEmpty() 判断调用类集是否为空
boolean removeAll(Collection c) 从调用类集中删除c的所有元素
boolean retainAll(Collection c) 删除调用类集中除了包含在c中的元素之外的全部元素
int size() 返回调用类集中元素的个数
Object[] toArray() 返回一个数组,该数组包含了所有存储在调用类集中的元素

1) List接口
List接口拓展了Collection并声明存储一系列元素的类集的特性。使用一个基于0的下标,元素可以通过他们在列表中的位置被插入和访问。
方法:
void add(int index,Object obj) :将obj插入调用列表,插入位置的下标由index传递。
Boolean addAll(int index,Collecton c) :将c中的所有元素插入到调用列表中,插入位置由index传递
Object get(int index) :返回存储在调用类集内制定下标出的对象
int indexOf(Object obj) :返回调用列表中obj的第一个实例的下标。
int lastIndexOf(Object obj) :返回调用列表中obj的最后一个实例的下标。
ListIterator listIterator() :返回调用列表开始的迭代程序
ListIterator listIterator(int index) :返回调用列表在指定下标处开始的迭代程序
Object remove(int index):删除调用列表中由index指定位置的元素。
Object set(int index,Object obj) : 用obj对调用列表内由index指定的位置进行复制
List subList(int start,int end)  :返回一个列表,该列表包括了调用列表中从start到end-1的元素
2) SortedSet接口
2. Collection接口
标准的Collection实现类如下:
AbstractCollection 实现大多数Collection接口
AbstractList 拓展AbstractCollection并实现大多数List接口
AbstractSequentialList
LinkedList 链表
ArrayList 连续表
AbstractSet Set接口
HashSet 散列表
TreeSet 实现存储树的一个集合

1) ArrayList集合
ArrayList类拓展AbstractList并执行List接口。ArrayList支持可随需要而增长的动态数组。
ArrayList的构造方法:
ArrayList()
ArrayList(Collection c)
ArrayList(int capacity)
范例:
public class ArrayListDemo
{
	public static void main(String[] args){
	
		ArrayList al = new ArrayList();
		System.out.println("a1 的原始大小"+a1.size());
		a1.add("C");
		a1.add("H");
		a1.add("I");
		a1.add("N");
		a1.add("A");

		a1.add(1,"A2");
		System.out.println("a1 的大小"+a1.size());
		a1.remove("A2");
		a1.remove(2);
		System.out.println(a1);
	
	}
}
2)LinkList类
LinkList类扩展AbstractSequestrialList类并实现List接口。它提供了一个链表的数据结构。
LinkList()
LinkList(Collection c)
使用addFirst()方法可以在列表头增加元素,使用addLast()方法可以在列表尾部增加元素。
void addFirst(Object obj)
void addLast(Object obj)
调用getFirst()方法可以获得第一个元素,调用getLast()方法可以获得最后一个元素。
为了删除可以用
Object removeFirst()
Object removeLasr()

3)HashSet类
HashSet扩展AbstractSet并且实现Set接口。它创建一个类集,该类集使用散列表进行存储,而散列表则可以通过使用成为散列法的机制来存储信息。
构造方法:
HashSet()
HashSet(Collection c)
HashSet(int capacity)
HashSet(int capacity,float fillRatio)
fillRatio->填充比,默认为0.75
范例:
	public class HashSetDemo
{
	public static void main(String[] args)
	{
		HashSet hs = new HashSet();
		hs.add("F");
		hs.add("U");
		hs.add("C");
		hs.add("K");
		System.out.println(hs);

	}
}

3) TreeSet类
TreeSet为使用树类来进行存储的Set接口提供了一个工具,对象按升序存储。访问和检索是很快的。对于存储了大量需要进行检索的排序信息,TreeSet是一个很好的选择。
构造方法:
   TreeSet()
TreeSet(Collection c)
   TreeSet(SortedSet as)
3. 通过迭代方法访问类集
iterator()是一个或者实现Iterator,或者实现ListIterator接口的对象。Iterator可以完成通过循环输出类集内容,从而获得或删除元素。
ListIterator扩展了Iterator,允许双向遍历列表,并且可以修改但愿。
在通过迭代方法访问类集之前,必须得到一个迭代方法。每一个Collection类都提供一个iterator()方法,该方法返回一个对类集的迭代方法。通过使用这个迭代方法对象,可以一次一个地访问类集中的每一个元素:
1. 通过调用类集的iterator()方法获得对类集的迭代方法。
2. 建立一个调用hasNext()方法的循环,只要hasNext()返回true,就进行循环迭代。
3. 在循环内部,通过调用next()方法来得到每一个元素。

范例:
public class IteratorDemo
{
	public static void main(String[] args){
	
		ArrayList a1 = new ArrayList();
		a1.add("C");
		a1.add("H");
		a1.add("I");
		a1.add("N");
		a1.add("A");
		Iterator itr = a1.iterator();
		while(itr.hasNext())
		{
			Object element = itr.next();
			System.out.print(element+" ");
		}
	
	}
}

4. 处理映射
映射(map)是一个存储关键字和值的关联,或者说是“关键字/值“对的对象。关键字必须是唯一的,但值是可以被复制的。
1) Map接口
Map接口映射唯一关键字到値。关键字(Key word)是以后用于检索值的对象。
2) SortedMap接口
SortedMap接口扩展了Map,它确保了各项按关键字升序排序。
3) Map.Entry接口
Map.Entry接口使得可以操作映射的输入。


映射类
AbstractMap:实现大多数的Map接口
HashMap:将AbstractMap扩展到实用散列表
TreeMap:将AbstractMap扩展到树
1) HashMap类
构造方法:
HashMap()
HashMap(Map m)
HashMap(int capacity)
HashMap(int capacity,float fillRatio)
2) TreeMap类

分享到:
评论

相关推荐

    JavaSE基础篇 -- 集合框架详述_超集大合集

    本压缩包详述描述了Java的集合框架,用详尽的源码实例,深入浅出的介绍了包含List、Set、Map、泛型在内的所有内容。登录我的博客http://blog.csdn.net/zhongkelee还有惊喜!利用集合框架实现了斗地主洗牌发牌实例。

    技术浅析.pdf 知识领域 Javase javaee Java技术浅析 技术关键词 JAVA语言 编程技术框架 原理

    内容概要 有经验的中级软件编程设计人员 Java技术参考 适用人群 初级中级Java编程技术人员 在校大学生 教职工 使用场景及目标 Java系列编程技术原理 通用知识 其他说明 微薄之力 共勉

    MLDN魔乐所有javaSE的pdf文档

    MLDN魔乐所有javaSE的pdf文档,文档编号是从5开始的,因为前面...15.Java类集框架.pdf 16.1.Java反射机制.pdf 16.2.枚举.pdf 17.1.Annotation.pdf 17.2.Java数据库编程.pdf 17.3.Java网络编程.pdf 18.JAVA项目案例.pdf

    零基础 java入门 javaweb 框架

    零基础jiava入门,零基础便可掌握javaSE所有相关核心内容,这是一个课件部分截图,还有javaWeb,框架等课件,如果有需要的朋友们,可以给我发私信

    java视屏\4.JAVASE02\5.集合框架-Collection.mp4

    java视屏\4.JAVASE02\5.集合框架-Collection.mp4

    JavaSE最全教程

    最全的javaSE 教程,包含Java语言基础、流程控制、函数、数组、对象、修饰符、接口、内部类、集合、异常处理、多线程、IO框架、反射、OOAO初步等基础知识点汇总

    集合框架学习笔记

    集合框架学习笔记 https://mp.csdn.net/mdeditor/88970781#

    Java SE-基础篇-运算符、随机数(Random)、方法、数组-入门级讲解

    JavaSE就是一种标准版,是Java中的基础部分,不过后来的各种框架,各种产品都是基于JavaSE,也就是JavaSE是java向上发展的基础,Java任何高级产品的底层基础都是JavaSE,所以如果要学习,把它学扎实,牢固是很有必要的...

    java web框架 课程笔记

    word版本java web框架 课程笔记,内含java培训的详细文字描述,截图,代码,内容覆盖:javase ,javaweb,jquery,ssh,ssm,maven,WebService&RESTful;,redis,lucene,solr等

    Java中spring框架入门

    Spring是一个开源框架,Spring是于2003 年兴起的一个轻量级的Java 开发框架,由Rod Johnson 在其著作Expert One-On-One J2EE Development and Design中阐述的部分理念和原型衍生而来。它是为了解决企业应用开发的...

    JavaSE_11集合框架_旺旺老师.pdf

    JavaSE_11集合框架_旺旺老师.pdf

    狂神说上课笔记未删减 Java基础到技术升级

    1、JavaSE:Java入门 2、JavaSE:基础语法 3、JavaSE:流程控制 4、JavaSE:方法 5、JavaSE:数组 6、JavaSE:面向对象 7、JavaSE:异常机制 8、JavaSE:常用类 9、JavaSE:集合框架 10、JavaSE:IO流 11...

    java基础知识脑图_javase

    javase基础脑图,java语言的基础语法,常用api,常用集合框架,常见面试题

    java学习路线图 java总体框架

    java学习路线图 java总体框架 javase javaee struts spring hibernate jdbc xml database ejb

    轻量级java框架NLF框架.zip

    NLF框架是六特尔独自开发的轻量级java框架,它只有1个jar包,含源代码在内只有500 KB的大小。它无侵入,无依赖,零配置,无注解,支持AOP,自动IOC,原生支持Oracle、SQLSERVER、MYSQL和独创的CSV数据库。使用它你将...

    javaSE代码实例

    3.10 常用数学工具包——java.lang.Math类 39 3.10.1 数学常量 39 3.10.2 常用数学函数 40 3.11 小结 41 第4章 流程控制——Java世界的航行舵手 42 4.1 if条件语句 42 4.1.1 简略形式 42 4.1.2 完全...

    Java领域基础部分JavaSE笔记

    Java集合框架(List, Set, Map等) 适用人群 初学者:对编程感兴趣,希望从基础学起的新手。 在校学生:计算机科学或相关专业的学生,需要学习Java编程语言。 自学者:希望通过自学提升编程技能的个人。 职业开发者...

    JavaSE:Java通用培训

    JavaSE Java通用培训 使用Java-I的OOP 第一天 算法,Java安装和体系结构 第二天 关键字,变量,运算符,数据类型,类型转换,IF-Else 第三天 开关,循环 第四天 类和对象,变量范围,参数传递技术,构造函数 第五...

Global site tag (gtag.js) - Google Analytics