JavaWeb入门(三) 集合篇
来源:互联网 发布:明星出道前照片 知乎 编辑:程序博客网 时间:2024/06/05 19:36
JavaWeb入门(三) 集合篇
标签(空格分隔): JavaWeb
原文地址
关于集合类
如何使用集合类?
- 若涉及到 堆栈,队列 的操作时,应考虑使用 List 。对于需要 快速插入、删除 元素的需求,应使用 LinkedList ,而对于需要 快速随机访问 元素的需求,应使用 ArrayList 。这应该是由 链表 和 数组 的不同数据结构决定的。
- 对于哈希表的操作,作为 key 的对象要求能正确复写 equals & hashCode 方法。
- 尽量返回接口类型而非实际类型,如返回List而非LinkedList或ArrayList, 这样如果需要将 ArrayList 改为 LinkedList , 客户端的代码就无需改变。
- List 有类似数组下标的操作,且允许有相同的元素存在。Map 是以键值对(key-value)的形式存在,不能存在相同的键。
注意:
- ArrayList 实现了可变大小的数组,它的长度随着元素的增加而变化,且可以存在重复的元素。
- HashMap 允许 null 值, null key, null value 都可以存在。
- Collection 是集合类最基本的接口,所有集合类都继承自 Collection 或其子接口。
- 由于 Collection 具有 性能高、易扩展、已修改 等优点,因此可以用 Collection 实现的不要用数组方式实现。
List
特点
可以存放任意数据,内容可以重复,提供高效的插入、删除元素的方法。
常用子类
***ArrayList
LinkedList
Vector***
Vector 用法同 ArrayList ,而 ArrayList 具有异步处理, 性能高, 非线程安全 的特点。 如果需要线程安全,那么可以选择Vector 。
Set
特点
可以存放任意数据,内容不可重复。
常用子类
***HashSet
TreeSet***
HashSet 输出时,元素的次序是无序随机的。TreeSet 则是按ANSIC 表由小到大排列的,称为 有序集 。
Map
Map 中存放的是 键值对 数据。一个 key 对应一个 value。
例:Map的使用实例
public class UsingMap { public static void main(String[] args) { Map<String, String> names = new HashMap<>(); names.put("09-01-01", "Robert"); names.put("09-01-02", "Scarlet"); names.put("09-01-01", "Lucian"); //对于已有的键 09-01-01, 会使用新值Lucian替换原值Robert Set<String> keySet = names.keySet(); //键集是Set,无重复值 Collection<String> values = names.values(); //值集是Collection,允许重复值出现 //使用迭代器遍历Map的键集 Iterator<String> iterator = keySet.iterator(); while (iterator.hasNext()) { System.out.println(iterator.next()); } //使用迭代器遍历Map的值集 Iterator<String> valueIterator = values.iterator(); while (valueIterator.hasNext()) { System.out.println(valueIterator.next()); } }}
输出结果:
09-01-01
09-01-02
Lucian
Scarlet
异常 Exception
异常指在运行阶段可能出现的错误,这样的的错误在编译时无法被检测出。常见的如: 数组越界 、文件找不到。
基本用法
try{ //...可能产生异常的代码块}catch(Exception e){ //...异常处理部分}finally{ //...处理完异常后操作}
throw 与 throws关键字
throws的使用:
public func() throws Exception{ //可能出现异常的函数体}public void static main(String[] args){ try{ func(); //可能抛出异常的方法要用try catch 处理 }catch(Exception e){ //...在此处处理异常 }}
throw 表示直接抛出一个异常
throw的使用
try{ throw new Exception("Some error occurs.");}catch(Exception e){ System.out.prinln(e);}
自定义异常类
任何继承自Exception的类都属于自定义异常类。
例
public static class MyException extends Exception{ //必须实现构造方法 public MyException(String _str){ super(_str); }}public static void main(String[] args){ try{ throw new MyException("This is a MyException.") }catch(Exception e){ System.out.println(e); }}
0 0
- JavaWeb入门(三) 集合篇
- javaweb入门篇(一)
- JavaWeb从入门到精通(三)-servlet编程
- JavaWeb入门(一) 基础篇
- JavaWeb入门(二) 面向对象篇
- javaWeb学习(三)
- javaWeb学习(三)
- JavaWEB--POI之EXCEL操作、优化、封装详解系列(三)--万能POI之EXCEL导出工具--PoiExportUtil入门篇
- Redis入门(三)集合Set
- Groovy入门(三)——集合类型List
- javaWeb学习之旅(三)-----java WEB的开发入门
- JavaWeb入门:服务器配置篇
- JavaWeb开发之一:入门篇
- JavaWeb(八)Cookie入门
- JavaWeb学习(三):jsp
- JavaWeb(三)Http协议
- Javaweb学习总结(三)
- JavaWeb系列(一)——入门篇
- Cordova Android 返回键拦截(backbutton)和退出(再点击一次跳出)
- Java中流的问题总结(实例)
- 运行中的处理器所处的三种状态--写在2016年最后一贴
- testng翻译之二--注解
- Android 开源日志库 Logger 使用教程
- JavaWeb入门(三) 集合篇
- 数据结构经典算法学习之八皇后01
- 深度学习的并行问题
- 反射和特性(2.反射特性信息)
- 常用的JS/jQuery技术和技巧
- dialog
- 网页中获取网络mp3文件的时常
- jenkins 运用Windows Slave执行 python程序
- Android Studio NDK 开发