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

java基础知识回顾(四)

2014-03-16 19:54 513 查看
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));
}
//多样化算法的应用LinkedList和ArrayList通用
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键")
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: