当前位置: 移动技术网 > IT编程>开发语言>Java > Java中的集合框架

Java中的集合框架

2019年07月22日  | 移动技术网IT编程  | 我要评论
概念 java中的集合类:是一种工具类,就像是容器,储存任意数量的具有共同属性的对象 集合的作用     集合框架的类型: collect

概念

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;
}

以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,同时也希望多多支持移动技术网!

如您对本文有疑问或者有任何想说的,请 点击进行留言回复,万千网友为您解惑!

相关文章:

验证码:
移动技术网