java基础知识回顾(四)

java基础     2014.3.15

十五、java语法之异常处理

(一)概念:处理运行时发生错误  try catch finally throwthrows Exception

(二)语法:

    try{

         //语句

     }catch(Exception  ex异常引用名称){

        //处理异常

      }finally{

        //无条件执行语句块

      }

(三)分类

  •   自处理异常

               

        try{

                //会引发异常的语句

                iInputNo = Integer.parseInt(“abcdef”);

         if(控制语句)

         {

                  throw  new Exception(“错误消息”);//抛出自定义异常

         }

         }catch(Exception ex)

        {

                //处理异常

                //自定义异常的消息使用:ex.getMessage();

         }

  外处理异常

            返回值类型  函数名() throws  Exception{

                  //代码段

                  throw new Exception(“自定义异常消息”);

              }

             调用函数的位置处理外异常

             try{

                    函数名()

               }catch(Exceptionex){

                }

  •  异常的原则

 

    • try后面最少有一个catch或者finally
    • Finally是无条件执行语句块
    • Exception是所有异常类的根类

十六、java语法之集合

(一)图形表示

     

Collection接口

                  特点定义:存储连续空间的数据类型,数组为基本算法

 Map接口

                  特点定义:存储批量无固定空间的数据类型,key-value键值对基本算法

 

(二)一个重要的类

Collections类:集合对象的排序查找

                  基本数据类型

                  引用数据类型,自定义的类 implementsComparable<T>

Collections的常用算法:

                  Sort(List)对List容器内的元素排序

                  Shuffle(List)对List容器内对象进行随机排序

                  Reverse(List)对List容器内的对象进行逆序排列

                  Fill(List,Object)一个特定对象重写整个List容器

                  Copy(Listdest,List src) 将src list容器内容拷贝到desc list容器

                  IntbinarySearch(List, object)采用折半查找特定对象

(三)3个技术

 

1. 泛型JDK4以后,集合效率更高

2. Foreach:遍历的数组和集合

For(集合元素的基本数据类型 对象引用名称 : 数组或者集合名称)

{

                  对象引用名称

}

3.打包和拆包【装箱和拆箱】

n  打包:基本数据类型自动转换成引用数据类型

n  拆包:引用数据类型转换基本数据类型

Int i=100;   Object o = i;    list.add(Object)

Int j = (Integer)o;           int j = (Integer)list.get(0);

 (四)六个接口

 

特点

方法

List接口 

List接口是Collection的子接口,实现List接口的容器类中的额元素是有顺序的,而且可以重复

List容器中的元素都对应一个整数型的序号记载其在容器中的位置,可以根据需要存取容器中的元素

 

LinkedList集合是链表存储结果,删除元素速度比较快

ArrayList是数组结构

//创建一个集合对象

        List<Integer> list = newArrayList<Integer>();

        //存储10个随机数字

        for(int i=0;i<10;i++)

        {

            list.add(new Random().nextInt(101));

        }

        //打印集合中所有元素

        for (Integer integer : list) {

            System.out.println(integer);

        }

        //修改第6个元素为150

        list.set(5, 150);

        //获得第6个元素并打印

        System.out.println(list.get(5));

        //移除第6个元素

        list.remove(6);

        //查找120,查找不存在则返回-1结果

        int index = list.indexOf(120);

        System.out.println(index);

//创建LinkedList对象-链接集合对象  - 删除速度比较快

        LinkedList<Integer> linkList = newLinkedList<Integer>();

        //随机放入10个数字

        for(int i=0;i<10;i++)

        {

            linkList.add(newRandom().nextInt(101));

        }

        //多样化算法的应用LinkedListArrayList通用

        Collections.sort(linkList);

        for (Integer integer : linkList) {

            System.out.println(integer);

        }

        System.out.println("*************************");

        Collections.shuffle(linkList);     

        for (Integer integer : linkList) {

            System.out.println(integer);

        }     

Set接口

Set接口是Collection的子接口,Set接口没有提供额外的方法,但实现Set接口的容器类中的元素是没有顺序的,而且不可以重复

 

Set<Integer> set = new HashSet<Integer>();

        set.add(100);

        set.add(200);      

        set.add(300);

        set.add(400);

        set.add(100);

        //打印      

        //得到遍历对象,set的遍历没有下标,只能依赖Iterator接口遍历

        Iterator<Integer> iter=set.iterator();

        //iter.hasNext()是否有下一个元素

        while(iter.hasNext()){

            //打印当前元素并移动到下一个

            System.out.println(iter.next());

        }

Map接口

实现Map接口的类用来存储键-值一对

Map类中存储的键-值对通过键来标识,所以键值不能重复

    //假设买商品:1  苹果  5  5.5

        CartItem citem1 = new CartItem(1, "苹果", 5, 5.5f);

        //假设买商品:2  香蕉  20  4.5

        CartItem citem2 = new CartItem(2, "香蕉", 20, 4.5f);

        //声明Map对象Map<K=商品编号, V=商品对象>

        Map<Integer, CartItem>  map = newHashMap<Integer, CartItem>();

        //map集合放入第一个商品对象

        map.put(citem1.getCartId(), citem1);

        //map集合放入第2个商品对象

        map.put(citem2.getCartId(), citem2);

       

        //单一个元素对象

        CartItem citem = map.get(1);

        System.out.println(citem.getInfo());

       

        //遍历map中所有Value元素

        Iterator<CartItem> iter = map.values().iterator();

        while(iter.hasNext())

        {

            CartItem cTemp = iter.next();

            System.out.println(cTemp.getInfo());

        }

       

Iterator接口  

遍历Set接口

 

Comparable接口

比较操作

 

List总结:

1、所有list中只能容纳单个不同类型的对象组成的集合,而不是keyvalue键值对

2、所有list中可以包含相同元素ArrayList【tom ,koo,koo】

3、所有list中可以有null元素例如【tom,null,1】

4、ArrayList适合查询,linkedlist适合添加删除操作

5、用for或者foreach遍历list集合

6、List集合的方法:

   集合对象.add(对象)  

   集合对象.get(index索引)

   遍历集合对象for高级循环

Set总结:

1、HashSet和HashMap基本算法都是哈希算法 – MD5加密

2、Set中的元素是不能重复的,如果用add会覆盖已存在的对象

3、用Iterator接口遍历Set集合

4、Set集合的方法

 集合对象.add(对象)

集合对象.iterator() 

 Iterator 接口遍历hasNext  next方法

 

Map总结:

1、键值对存储对象

2、键元素不能重复,而值对象可以重复

3、用Iterator遍历map集合中的value值

4、Map结构存储

                Hashtable对象.put("key键","value值")

               Hashtable对象.get("key键")

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值