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

java集合(二)

2016-04-08 12:17 246 查看

1.   双列集合Map(HashMap)

双列集合是每个元素都有键与值两部分组成的集合,记录的是键值对对应关系。即通过键可以找到值。
最常用的双列集合是Map下的子类HashMap。
Map(HashMap)的使用:创建对象时加入两个泛型。
       Map<k,v>

key - 此映射所维护的键的类型
value - 映射值的类型
常用方法:
public V put(K key,V value) 
       //加入元素
public V get(Object key) 
            //根据键找值
public Set<K>
keySet()               //返回所有键的集合

a)Entry键值对对应关系

在Map类设计时,提供了一个嵌套类:Entry。Entry将键值对对应关系封装成了对象。是我们可以独立使用,比如遍历Map集合。可以从中获取一个键值对的键与值。

2.Collections

Collections是集合工具类,专门对集合进行操作。常用方法:
       public static <T> void  sort(List<T> list)                                   //排序
       public static <T> int  binarySearch(List<?> list,T key)             //查找元素索引
       public static void  shuffle(List<?> list)                                      //打乱元素顺序

       public static <T> boolean addAll(Collection<? super T> c,T... elements)
  //向集合中一次加入多个元素

该方法使用到了可变参数,即定义时并不知道要传入多少个实际参数。此时设计成...的方式,此时可以在调用该方法时,一次传入多个参数。传入的多个数将被自动组织成数组,我们只要操作生成的数组即可。
        注:可变参数只能放在最后定义。可变参数方法本质是数组,所以不可以与数组类型参数重载。可变参数可传入数组,反之不可以。

3.异常

a)异常概述 

在Java等面向对象的编程语言中,异常本身是一个类,产生异常就是产生了一个异常对象。java处理异常的方式是中断异常。

b)异常分类

严重错误,无法通过处理的错误Error
运行时异常,运行时可能会报错,可以不处理。如数学异常RuntimeException
编译时异常,编译时无法编译通过。如日期格式化异常Exception

c)异常基本操作

l  创建异常对象(JDK已定义的异常会自动创建对象,自定义异常需要手动创建)
l  抛出异常(JDK已有定义的异常会自动抛出异常,自定义异常需要手动抛出)
l  处理异常:
          捕获处理,将异常获取,使用try/catch做分支处理
                 try{
                        需要检测的异常;
}  catch(异常对象) {
       异常处理代码
}
          声明抛出处理,出现异常后不处理,声明抛出给调用这处理。
                 方法声明上加throws

d)自定义异常

如果Java没有提供你需要的异常,则可以自定义异常类。
定义方法:编译时异常继承Exception,运行时异常继承RuntimeException
自定义异常需要手动抛出,使用throw抛出异常。

e)注意事项

l  多异常处理
捕获处理:
1.多个异常分别处理
2.多个异常一次捕获多次处理:前边的异常不能大于后边异常
3.多个异常一次捕获一次处理:前后异常不能有子父类关系
声明抛出异常
声明上使用,一次抛出多个异常
l  运行时异常被抛出可以不处理。即不捕获也不声明抛出
l  如果父类抛出了多个异常,子类覆盖父类方法时,只能抛出相同的异常或者是他的子集
l  父类方法没有抛出异常,子类覆盖父类该方法时也不可抛出异常。此时子类产生该异常,只能捕获处理,不能声明抛出
l  在try/catch后可以追加finally代码块,finally代码块一定会被执行
规定:当遇到return是会产生一个返回路劲,路径中存储要返回的值,当方法结束时,将临时存储的值返回

l  函数中已经出现返回语句返回值A,再在finally中修改A值,则最终的返回值仍为修改前A的值。但在该方法中A的值已经被修改了

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: