java 是一种可以撰写跨平台应用软件的面向对象的程序设计语言,是由 Sun Microsystems 公司于 1995 年 5 月推出的 Java 程序设计语言和 Java 平台(即 JavaEE(j2ee), JavaME(j2me), JavaSE(j2se))的总称。
本文主要介绍了 Java 中集合框架的相关知识,具有很好的参考价值,下面跟着小编一起来看下吧
概念
Java 中的集合类:是一种工具类,就像是容器,储存任意数量的具有共同属性的对象
集合的作用
集合框架的类型:
collection 和 map 都是接口,不能实例化
List 和 Queue 有序、可重复,Set 无序、不可重复
list 添加元素两种 add 方法
1、直接添加,元素添加在队尾;
对象存入集合都变成 object 类型,取出时需要类型转换
2、指定位置添加,指定的位置(从 0 开始)不能超过队列的长度,否则报错(数组下标越界)。
list 的两种 addAll 方法:添加类的数组
- public void testAdd(){
- //add方法一
- Course cr1 = new Course("1", "课程一");
- coursesToSelect.add(cr1);
- Course temp = (Course)coursesToSelect.get(0);
- System.out.println("添加了课程:"+temp.id+":"+temp.name);
- //add方法二,添加到指定位置
- Course cr2 = new Course("2", "课程二");
- coursesToSelect.add(0, cr2);;
- Course temp2 = (Course)coursesToSelect.get(0);
- System.out.println("添加了课程:"+temp2.id+":"+temp2.name);
- //addAll数组添加方法一
- Course[] cr34 = {new Course("3", "课程三"), new Course("4", "课程四")};
- coursesToSelect.addAll(Arrays.asList(cr34));//添加数组的方法
- Course temp3 = (Course)coursesToSelect.get(2);
- Course temp4 = (Course)coursesToSelect.get(3);
- System.out.println("添加了两门课程:"+temp3.id+":"+temp3.name+
- ";"+temp4.id+":"+temp4.name);
- //addAll数组添加方法二,添加到指定位置
- Course[] cr56 = {new Course("5", "课程五"), new Course("6", "课程六")};
- coursesToSelect.addAll(2, Arrays.asList(cr56));
- Course temp5 = (Course)coursesToSelect.get(2);
- Course temp6 = (Course)coursesToSelect.get(3);
- System.out.println("添加了两门课程:"+temp5.id+":"+temp5.name+
- ";"+temp6.id+":"+temp6.name);
- }
遍历 List
1.for 循环遍历
- /**
- * 取得List中的元素的方法
- * @param args
- */
- public void testGet() {
- 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);
- }
- }
2. 通过迭代器来遍历 List,迭代器只是用来遍历集合中元素的,本身不具有存储元素的功能。可以说它是依赖某个集合存在的,不能独立存在。
- /**
- * 通过迭代器来遍历List
- * @param args
- */
- public void testIterator() {
- Iterator it = coursesToSelect.iterator();
- System.out.println("有如下课程待选(迭代器):");
- while (it.hasNext()) {
- Course cr = (Course) it.next(); //Iterator的next方法
- System.out.println("课程:" + cr.id + ":" + cr.name);
- }
- }
3. 通过 for each 方法访问集合元素
- /**
- * 通过for each 方法访问集合元素
- * @param args
- */
- public void testForEach() {
- System.out.println("有如下课程待选(for each):");
- for (Object obj: coursesToSelect) {
- Course cr = (Course) obj; //取出的元素一致都为Object类型,需要强转
- System.out.println("课程:" + cr.id + ":" + cr.name);
- }
- }
修改 List 中的元素。List 中有个 Set 方法
- /**
- * 修改List中的元素
- * @param args
- */
- public void testModify() {
- coursesToSelect.set(4, new Course("7", "课程七"));
- }
删除 List 中的元素。与 add 相似,有 remove 和 removeAll 两种
- /**
- * 删除List中的元素
- * @param args
- */
- public void testRemore() {
- Course cr = (Course) coursesToSelect.get(4);
- System.out.println("我是课程:" + cr.id + ":" + cr.name + ",我即将被删除了");
- coursesToSelect.remove(cr);
- System.out.println("删掉了。。");
- testForEach(); //方法内部调用方法
- }
上述 remove() 中也可直接放入索引下标,即可直接删除。如 remove(4)
removeAll 是从一个集合中将另一个集合中的所有元素全部删除。
- public void testRemore(){
- Course[] courses={(Course)coursesToSelect.get(3),(Course)coursesToSelect.get(4)};
- System.out.println("我是课程:3,4,我即将被删除了");
- coursesToSelect.removeAll(Arrays.asList(courses));
- System.out.println("删掉了。。");
- testForEach();//方法内部调用方法
- }
** 实际编写代码中最好每个类中的属性都私有(private),需要使用时再用 getXX 或 setXX
- private String id;
- public String getId() {
- return id;
- }
- public String setId() {
- this.id = id;
- }
以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,同时也希望多多支持 PHPERZ!
来源: http://www.phperz.com/article/17/1218/358203.html