java第十四节-Collection接口-List
2016-03-21 22:28
375 查看
一、List接口及其实现类-ArrayList
1、List是元素有序并且可以重复的集合,被称为序列
2、List可以精确的控制每个元素的插入位置,或删除某个位置的元素
3、ArrayList是数组序列,是List的一个重要实现类
4、ArrayList的底层是由数组来实现的
二、具体的例子,增删改查
public class Course{//课程类
public String id;
public String name;
publlic Course(String id,String name){//构造函数
this.id=id;
this.name=name;
}
}
public class Student{//学生类
public String id;
public String name;
public Set course;
public Student(String id,String name){//构造函数
this.id=id;
this.name=name;
this.course = new HashSet();
}
}
public class ListTest{//存储类
public List courseToSelect;//用于存放备选课程
public ListTest(){//构造函数
this.courseToSelect = new ArrayList();//实例化
}
public void testAdd(){//添加函数
//添加方法一
Course cr1 = new Coures("1","数据结构");//实例化一个Course对象
courseToSelect.add(cr1);//将cr1存进去
Course temp = (Course)courseToSelect.get(0);//取出
Course cr2 = new Coures("2","c语言");
//添加方法二
courseToSelect.add(0,cr2);//指定添加的位置
System.out.println(temp);
//添加方法三
Course[] course = {new Course("3","离散数学"),new Coures("4","汇编语言")};//插 入两门课程
courseToSelect.addAll(Arrary.asList(course));
//方法四
Course[] course2 = {new Course("5","大学英语"),new Coures("6","高等数学")};
courseToSelect.addAll(2,Arrary.asList(course));//将大学英语添加到第二个位置,接 下来的接在后面
}
public void testGet(){//提取输出
//提取方法一
int size = courseToselect.size();
for (int i=0; i<size; i++){//遍历输出
//提取方法二
Course cr = (Course)courseToSelect.get(i);
System.out.println(cr.id+cr.name);
}
//提取方法三
public void testIterator(){//迭代器遍历,迭代器相当于游标
Iterator it = courseToSelect.iterator();
while(it.hasNext()){
Course cr = (Course)it.next();
System.out.println(cr.id+cr.name);
}
}
public void textModify(){//修稿List
courseToSelect.set(4,new Course("7","毛概"));
}
public void textRemove(){//删除元素
//方法一
Course cr = courseToSelect.get(4);
courseToSelect.remove(cr);//删除
//方法二
courseToSelect.remove(4);//删除
//方法三
}
public static void main(String args[]){//测试主函数
ListTest it = new ListTest();
it.testAdd();
it.testGet();
}
}
1、List是元素有序并且可以重复的集合,被称为序列
2、List可以精确的控制每个元素的插入位置,或删除某个位置的元素
3、ArrayList是数组序列,是List的一个重要实现类
4、ArrayList的底层是由数组来实现的
二、具体的例子,增删改查
public class Course{//课程类
public String id;
public String name;
publlic Course(String id,String name){//构造函数
this.id=id;
this.name=name;
}
}
public class Student{//学生类
public String id;
public String name;
public Set course;
public Student(String id,String name){//构造函数
this.id=id;
this.name=name;
this.course = new HashSet();
}
}
public class ListTest{//存储类
public List courseToSelect;//用于存放备选课程
public ListTest(){//构造函数
this.courseToSelect = new ArrayList();//实例化
}
public void testAdd(){//添加函数
//添加方法一
Course cr1 = new Coures("1","数据结构");//实例化一个Course对象
courseToSelect.add(cr1);//将cr1存进去
Course temp = (Course)courseToSelect.get(0);//取出
Course cr2 = new Coures("2","c语言");
//添加方法二
courseToSelect.add(0,cr2);//指定添加的位置
System.out.println(temp);
//添加方法三
Course[] course = {new Course("3","离散数学"),new Coures("4","汇编语言")};//插 入两门课程
courseToSelect.addAll(Arrary.asList(course));
//方法四
Course[] course2 = {new Course("5","大学英语"),new Coures("6","高等数学")};
courseToSelect.addAll(2,Arrary.asList(course));//将大学英语添加到第二个位置,接 下来的接在后面
}
public void testGet(){//提取输出
//提取方法一
int size = courseToselect.size();
for (int i=0; i<size; i++){//遍历输出
//提取方法二
Course cr = (Course)courseToSelect.get(i);
System.out.println(cr.id+cr.name);
}
//提取方法三
public void testIterator(){//迭代器遍历,迭代器相当于游标
Iterator it = courseToSelect.iterator();
while(it.hasNext()){
Course cr = (Course)it.next();
System.out.println(cr.id+cr.name);
}
}
public void textModify(){//修稿List
courseToSelect.set(4,new Course("7","毛概"));
}
public void textRemove(){//删除元素
//方法一
Course cr = courseToSelect.get(4);
courseToSelect.remove(cr);//删除
//方法二
courseToSelect.remove(4);//删除
//方法三
}
public static void main(String args[]){//测试主函数
ListTest it = new ListTest();
it.testAdd();
it.testGet();
}
}
相关文章推荐
- 设计模式之状态模式
- dijkstra 算法的java实现
- JAVAone 总结
- jdbc查询中出错 java.sql.SQLException: 无效的列索引
- List中元素转存到另一个空List中的快捷方式
- Spring MVC 原理小结+简单应用
- Spring AOP配置声明式事务,数据业务层捕获异常,事务控制处理
- ubuntu安装jdk
- 关于Java字符串String在运算中的拼接
- Java 8新特性探究(九)跟OOM:Permgen说再见吧
- Spring MVC MyBatis
- //TODO list
- java的自动包装机制
- Java基础静态变量、静态方法
- Thinking in Java -- 类型信息
- 深入剖析Java中的装箱和拆箱
- java中throw和throws的区别
- Java 实现的快速排序
- Java 如何有效地避免OOM:善于利用软引用和弱引用
- java 学习 1