Java集合类

集合类概述

Java 语言的java.util包中提供了一些集合类,这些集合类又被称为容器。常用的集合有List集合、Set集合、Map集合,其中List与Set实现了Collection接口。接口还提供了不同的实现类。

List 接口的实现类常用的有ArrayList 与LinkedList。

1.      ArrayList类

该类实现了可变的数组,允许所有元素包括null。可以根据索引位置对集合进行快速的随机访问。缺点是向指定的索引位置插入对象或删除对象的速度较慢,语法格式如下:

List <String> list =new ArrayList<String>();

2.      LinkedList类

该类采用链表结构保存对象。这种结构的优点是便于向集合中插入和删除对象,经常需要向集合中插入、删除对象时,使用LinkedList类实现的List集合的效率较好;但对于随机访问集合,效率较慢。

List<String>list=new LinkedList<String>();

Set接口的实现类常用的有HashSet和TreeSet类。语法格式如下:

Set<String> collSet=New HashSet<String>();

Set<String>collSet2=New TreeSet<String>();

Set集合中的对象时无序的,遍历Set集合的结果与插入Set集合的顺序并不相同。

Map接口常用的实现类有HashMap和TreeMap.

迭代器的创建和使用

利用Iterator接口创建迭代器,Iterator接口位于java.util包下,接口中有三个方法。

(1)      hasNext():如果仍有元素可以迭代,则返回true;

(2)      next():返回迭代的下一个元素;

(3)      remove():从迭代器指向的collection中移除迭代器返回的最后一个元素。

对于列表而言,除了Iterator,java语言还提供了一个功能更加的强大的ListIterator,它可以实现逆序遍历列表中的元素。

异常的分类

在java中可以捕获的异常可分为可控式异常和运行时异常两种类型。

可控式异常

在java中把那些可以预知的错误,成为可控式异常

运行时异常

在java中有些错误是不能被编译器检测到的,因而能够正常编译,但是在运行时就会发生异常,我们把这些异常称为运行时异常。

处理异常

使用try…catch处理异常。

使用try…catch…finally处理异常

Try{

需要执行的语句

}catch(Exception ex){

对异常进行处理的语句

}finally{

一定会被处理的语句

}

Finally语句块通常用于执行垃圾回收、释放资源等操作。

使用try…finally处理异常

在有try…finally语句块的程序中,只要程序执行了try语句中的代码,不管try语句块是否发生异常;与该try语句块对应的finally语句块都一定会被执行,因此通常使用finally语句块进行资源释放。

最新文章

  1. 检索COM类工厂中CLSID为{00024500-0000-0000-C000-000000000046}的组件时失败
  2. logoff remote desktop sessions via command line tools
  3. window.execScript的兼容性写法
  4. Jmeter组件3. HTTP Cookie Manager
  5. LinqToDataTable
  6. ExtJs4 学习3 combox自动加载的例子
  7. 浅谈jquery插件开发模式
  8. java 获得当前时间 年月日时分秒 星期几
  9. 加入GIMPS项目,寻找梅森素数!
  10. IDEA的 mybatis插件报错 - IDE Fatal Errors
  11. Vue(二)简单入门
  12. licode测试
  13. Nginx 4层反向代理
  14. CCF-炉石传说
  15. Mybatis经常被问到的面试题
  16. vue全局使用axios插件请求ajax
  17. VLC播放H264文件问题
  18. idea本地将本地现有的项目和gitlab进行管理并提交到线上
  19. What is &quot;found.000&quot; ? How to deal with it?
  20. 《设计模式》-原则六:迪米特法则(LoD)

热门文章

  1. JavaSE基础(九)--Java二进制运算
  2. C++11 thread condition_variable mutex 综合使用
  3. Spring Boot 创建动态定时任务
  4. DecodingGenome(CodeForces-222E)【矩阵快速幂】
  5. C++目录
  6. PostgreSQL练习3
  7. 网络编程[第二篇]基于udp协议的套接字编程
  8. 让 history 命令显示日期和时间
  9. 玩linux笔记——持续更新
  10. k8s-搭建 EFK 日志系统