-
//try...catch...finally 1.e.printStackTrace()可以输出异常信息 2.-1为抛出异常的习惯写法 3.如果方法中try,catch,finally中没有返回语句,则会调用这三个语句块之外的return结果 4.finally块无论如何,不管前面是正常还是异常,都要执行。查看全部
-
/*往List中添加一些奇怪的东西*/ public void testType(){ System.out.println("能否玩List中添加一些奇怪的东西呢"); coursesToSelect.add("我不是课程,我只是一个无辜的字符串"); } 一直添加的是课程类型的对象,通过调用testForEach()方法编译时,每一次取出都要把它强制转换成课程类型的,当去到String类型时,把它进行强转就会抛出异常。 泛型: 集合中的元素,可以是任意类型的对象(对象的应用) 如果把某个对象放入集合,则会忽略它的类型,而把它当做object处理 泛型则是规定了某个集合只可以存放特定类型的对象,会在编译期间进行类型检查 可以直接按指定类型获取集合元素 public void testForEach(){ for(Course cr:courses)//直接定义成Course型的变量 而后不需要强制转换 System.out.println(cr.id+":"+cr.name); }查看全部
-
删除List中的元素:remove(Object o)、remove(int index) removeAll()方法是从某个集合中将另一个集合中的元素完全删除 public void testRemove(){ System.out.println("即将删除4位置和5位置上的课程"); Course[] courses={(Course)coursesToSelect.get(4),(Course)coursesToSelect.get(5)}; coursesToSelect.removeAll(Arrays.asList(courses)); System.out.println("成功删除课程!"); testForEach(); }查看全部
-
修改List中的元素:用List中的set(int index,Object element)方法查看全部
-
用for循环遍历List中的元素: int size=coursesToSelect.size(); System.out.println("有如下课程:"); for(int i=0;i<size;i++){ Course cr=(Course)coursesToSelect.get(i); System.out.println("课程"+cr.id+":"+cr.name); } 通过Collection中的iterator()方法可以返回一个当前集合的迭代器,再通过这个迭代器去遍历这个集合中的每一个元素;迭代器本身也是一个接口 Iterator接口;iterator的hasNext()方法:如果还有元素,就返回true;iterator中的next()方法取元素 迭代器只是用来遍历集合中的元素,它本身不具备任何存储元素的功能(迭代器依赖某个集合而存在,它本身不能独立存在); /*通过迭代器来遍历List*/ public void testIterator(){ //通过集合的iterator方法,去的迭代器的实例 Iterator it=coursesToSelect.iterator(); System.out.println("有如下待选课程(通过迭代器访问):"); while(it.hasNext()){ Course cr=(Course)it.next(); System.out.println("课程"+cr.id+":"+cr.name); } } /*for each方法访问集合元素*/ public void testForEach(){ System.out.println("有如下待选课程(通过for each访问):"); for (Object obj: coursesToSelect){ Course cr = (Course) obj; System.out.println("课程"+cr.id+":"+cr.name); } }查看全部
-
检查修改错误 try{ }catch{ }catch{ }....{ }finally{ } 先子类再父类查看全部
-
学习了。。。查看全部
-
使用 StringBuilder 或 StringBuffer 就可以避免产生很多临时变量这个问题。至于 StringBuilder 和StringBuffer ,它们基本相似,不同之处,StringBuffer 是线程安全的,而 StringBuilder 则没有实现线程安全功能,所以性能略高。因此一般情况下,如果需要创建一个内容可变的字符串对象,应优先考虑使用 StringBuilder 类。查看全部
-
asList()返回一个受指定数组支持的固定大小的列表;将数组转换为List类型 用List的add(Object e)和add(int index,Object e)可以想List中添加单个元素;List中的addAll(Collection c)和addAll(int index,Collection c)方法可以添加集合(多个元素)查看全部
-
==: 判断两个字符串在内存中首地址是否相同,即判断是否是同一个字符串对象 equals(): 比较存储在两个字符串对象中的内容是否一致查看全部
-
多异常查看全部
-
1. 字符串 str 中字符的索引从0开始,范围为 0 到 str.length()-1 2. 使用 indexOf 进行字符或字符串查找时,如果匹配返回位置索引;如果没有匹配结果,返回 -1 3. 使用 substring(beginIndex , endIndex) 进行字符串截取时,包括 beginIndex 位置的字符,不包括 endIndex 位置的字符查看全部
-
public class ListTest { /*用于存放备选课程的List*/ public List coursesToSelect; public ListTest(){ this.coursesToSelect=new ArrayList();//初始化coursesToSelect这个属性; // List是接口,不能直接实例化,要用它的实现类 } /*用于往coursesToSelect中添加备选课程*/ public void testAdd(){ /*创建一个课程对象,并通过调用add方法,添加到备选课程List中*/ Course cr1=new Course("1","数据结构"); coursesToSelect.add(cr1); Course temp=(Course)coursesToSelect.get(0); System.out.println("添加了课程:"+temp.id+":"+temp.name); Course cr2=new Course("2","c语言"); coursesToSelect.add(0,cr2); //List中的add方法 cr1已经在coursesToSelect的第0位,现在把cr2放到第0位,cr1会挤到第1位 Course temp2=(Course)coursesToSelect.get(0);//取出第0位的元素 System.out.println("添加了课程:"+temp2.id+":"+temp2.name); Course cr3=new Course("3","test"); /*coursesToSelect的当前长度为2,可以访问的位置只有0,1;add方法在可以访问的位置将相应元素插入, 其后的元素就往后推一位,如果要传递的index的值为当前list的容量,就会在list队尾插入*/ coursesToSelect.add(2, cr3);//插入第2个位置则正确,添加到第4个位置则发生越界错误 }查看全部
-
因为是通过key唯一映射value,所以每个键最多只能映射一个值。 Map支持泛型,形式:Map<K,V>查看全部
-
Map和HashMap: Map提供了一种映射关系,其中的元素是以键值对形式存储的(key-value),能够根据key快速查找value 键值对以Entry类型的对象实例存在,key值不可重复,value可以。查看全部
举报
0/150
提交
取消