java集合中list的用法代码示例
List接口是Collection接口的子接口,List有一个重要的实现类--ArrayList类,List中的元素是有序排列的而且可重复,所以被称为是序列。
List可以精确的控制每个元素的插入位置,或删除某个位置元素,它的实现类ArrayList底层是由数组实现的。
List中有增删改查的方法,我们可以通过例子演示:
我们通过对学生选课,来演示List中对课程增删改查的方法
/**
*课程类
*@authorlenovo
*
*/
publicclassKeCheng{
publicStringid;
publicStringname;
publicKeCheng(Stringid,Stringname){
this.id=id;
this.name=name;
}
}
创建一个学生类
importjava.util.HashSet;
importjava.util.Set;
/**
*学生类
*@authorlenovo
*
*/
publicclassStudent{
publicStringid;
publicStringname;
publicSetkecheng;
publicStudent(Stringid,Stringname){
this.id=id;
this.name=name;
this.kecheng=newHashSet();
}
}
创建一个备选课程的类
/**
*备选课程类
*@authorlenovo
*
*/
publicclassListTest{
//用于存放备选课程的List
publicListbeixuan;
publicListTest(){
this.beixuan=newArrayList();
}
}
可以使用List中add方法添加课程
/*
*用来往beixuan里添加备选课程的方法
*/
publicvoidkcAdd(){
//创建一个课程的对象,调用add方法,添加到备选课程的List中
KeChengkc=newKeCheng("1","数据结构");
beixuan.add(kc);
KeChengkc2=newKeCheng("2","C语言");
beixuan.add(0,kc2);
KeCheng[]kcArr={newKeCheng("3","大学语文"),newKeCheng("4","线性代数")};
beixuan.addAll(Arrays.asList(kcArr));
KeCheng[]kcArr2={newKeCheng("5","艺术设计"),newKeCheng("6","计算机基础")};
beixuan.addAll(2,Arrays.asList(kcArr2));
}
使用get方法取出指定位置上的内容,并用for循环遍历出课程的内容
/*
*使用for循环遍历课程的方法
*/
publicvoidgetKC(){
intsize=beixuan.size();
System.out.println("使用for遍历课程:");
for(inti=0;i
遍历List的内容,除了使用for循环外,还可以使用迭代器、foreach等方法
/*
*使用Iterator迭代器遍历课程
*/
publicvoidtestIterator(){
Iteratorit=beixuan.iterator();
System.out.println("使用Iterator遍历课程:");
while(it.hasNext()){
KeChengkc=(KeCheng)it.next();
System.out.println("课程:"+kc.id+":"+kc.name+";");
}
}
/*
*使用foreach遍历课程
*/
publicvoidtestForeach(){
System.out.println("使用foreach遍历课程:");
for(Objectobj:beixuan){
KeChengkc=(KeCheng)obj;
System.out.println("课程:"+kc.id+":"+kc.name+";");
}
}
修改List中的元素,可以使用set方法
/*
*使用set方法添加课程
*/
publicvoidtestModify(){
beixuan.set(0,newKeCheng("7","毛概"));
}
删除List中的元素有两种方法,一是使用remove方法
/*
*使用remove方法删除课程
*/
publicvoidtestRemove(){
KeChengkc=(KeCheng)beixuan.get(0);
System.out.println("我是课程:"+kc.id+":"+kc.name+";即将被删除");
booleanb=beixuan.remove(kc);
if(b){
System.out.println("成功删除课程");
testForeach();
}
}
还可以使用removeAll方法删除一个课程类型的数组
/*
*使用removeAll方法删除课程
*/
publicvoidtestRemoveAll(){
System.out.println("即将删除4和5位置上的课程");
KeCheng[]kc={(KeCheng)beixuan.get(4),(KeCheng)beixuan.get(5)};
beixuan.removeAll(Arrays.asList(kc));
System.out.println("课程删除成功");
testForeach();
}
总结
以上就是本文关于java集合中list的用法代码示例的全部内容,希望对大家有所帮助。感兴趣的朋友继续参阅本站:java集合中的list详解、Java编程接口调用的作用及代码分享、java并发学习之BlockingQueue实现生产者消费者详解等,有什么问题可以随时留言,小编会及时回复大家的。感谢朋友们对本站的支持!