大家好,小晋来为大家解答以上问题。java中list集合转为map,java中List的用法很多人还不知道,现在让我们一起来看看吧!
1、 List List的用途包括List接口和List接口的所有实现类。因为list接口实现了Collection接口,所以List接口拥有Collection接口提供的所有常用方法,而且因为List是List类型,所以List接口也提供了一些适合自己的常用方法,如表1所示。
2、 表1列表接口定义的常用方法和函数从表1可以看出,列表接口提供的适合自身的常用方法都是与索引相关的。这是因为列表集是一种列表类型,以线性方式存储对象,并且可以通过对象的索引来操作对象。List接口常用的实现类有ArrayList和LinkedList。使用列表集时,通常将其声明为列表类型。实例化时,根据实际情况实例化为ArrayList或LinkedList,例如:ListStringl=newArrayListString();//使用ArrayList类实例化列表集liststring 2=newlinkedliststring();//用LinkedList类实例化列表集合
3、 1.add(intindex,Objectobj)方法和set(intindex,Objectobj)方法之间的区别。使用列表集时,应注意add(in index,objectobj)方法和set(in index,Objectobj)方法的区别。前者是在指定的索引位置添加一个对象,后者是在指定的索引位置修改对象,比如执行下面的代码。
4、 SrccommwqTestCollection.java键码:
5、 publistaticvoidmain(String[]args)
6、 {Stringa='A ',b='B ',c='C ',d='D ',e=' E
7、 ListStringlist=newLinkedListString();
8、 list . add(a);list . add(e);list . add(d);list.set(1,b);//将索引位置为1的对象E修改为对象blist.add(2,c);//将对象C添加到位置IteratorStringit=list.iterator()中,索引位置为2;while(it.hasNext())
9、 { system . out . println(it . next());}}控制台上会输出以下信息:ABCD因为列表集可以通过索引位置访问对象,所以也可以通过for循环遍历列表集。比如上面代码中遍历列表集的代码如下:srccommwqTestCollection.java键码:for(inti=0;ilist . size();I){ system . out . println(list . get(I));
10、 //使用get(intwww.gzlij.comindex)方法获取指定索引位置的对象}srccommwqTestCollection.java完整代码如下:packagecom.mwqimport Java . util . ArrayList;import Java . util . linked list;import Java . util . iterator;import Java . util . list;publicsclasstestcollection { PublicStatisticvoidmain(string[]args){ system . out . println(' start:');Stringa='A ',b='B ',c='C ',d='D ',e=' EListStringlist=newLinkedListString();list . add(a);list . add(e);list . add(d);list.set(1,b);//将索引位置为1的对象E修改为对象blist.add(2,c);//将对象C添加到位置IteratorStringit=list.iterator()中,索引位置为2;while(it . has next()){ system . out . println(it . next());}//for(inti=0;ilist . size();我)
11、 system . out . println(list . get(I));
12、 //使用get(intindex)方法获取指定索引位置的对象//}System.out.println ('End!');}}
13、 2.indexOf(Objectobj)方法和lastIndexOf(Objectobj)方法的区别使用列表集时,需要区分IndexOf(Objectobj)方法和lastIndexOf(Objectobj)方法。前者是获取指定对象的最小索引位置,而后者是获取指定对象的最大索引位置,前提是指定对象在列表集中有重复对象,否则,如果有和
14、list.add(c);//索引位置为4list.add(repeat);//索引位置为5list.add(d);//索引位置为6System.out.println(list.indexOf(repeat));System.out.println(list.lastIndexOf(repeat));System.out.println(list.indexOf(b));System.out.println(list.lastIndexOf(b));}srccommwqTestCollection.java完整代码如下:packagecom.mwq;importjava.util.ArrayList;importjava.util.List;publicclassTestCollection{publicstaticvoidmain(String[]args){System.out.println("开始:");Stringa="A",b="B",c="C",d="D",repeat="Repeat";List<String>list=newArrayList<String>();list.add(a);//索引位置为0list.add(repeat);//索引位置为1list.add(b);//索引位置为2list.add(repeat);//索引位置为3list.add(c);//索引位置为4list.add(repeat);//索引位置为5list.add(d);//索引位置为6System.out.println(list.indexOf(repeat));System.out.println(list.lastIndexOf(repeat));System.out.println(list.indexOf(b));System.out.println(list.lastIndexOf(b));System.out.println("结束!");}}在控制台将输出如下信息:1522
15、3.subList(intfromIndex,inttoIndex)方法在使用subList(intfromIndex,inttoIndex)方法截取现有List集合中的部分对象生成新的List集合时,需要注意的是,新生成的集合中包含起始索引位置代表的对象,但是不包含终止索引位置代表的对象,例如执行下面的代码:srccommwqTestCollection.java关键代码:publicstaticvoidmain(String[]args){Stringa="A",b="B",c="C",d="D",e="E";List<String>list=newArrayList<String>();list.add(a);//索引位置为0list.add(b);//索引位置为1list.add(c);//索引位置为2list.add(d);//索引位置为3list.add(e);//索引位置为4list=list.subList(1,3);//利用从索引位置1到3的对象重新生成一个List集合for(inti=0;i<list.size();i++){System.out.println(list.get(i));}}srccommwqTestCollection.java完整代码:packagecom.mwq;importjava.util.ArrayList;importjava.util.List;publicclassTestCollection{publicstaticvoidmain(String[]args){System.out.println("开始:");Stringa="A",b="B",c="C",d="D",e="E";List<String>list=newArrayList<String>();list.add(a);//索引位置为0list.add(b);//索引位置为1list.add(c);//索引位置为2list.add(d);//索引位置为3list.add(e);//索引位置为4list=list.subList(1,3);//利用从索引位置1到3的对象重新生成一个List集合for(inti=0;i<list.size();i++){System.out.println(list.get(i));}System.out.println("结束!");}}在控制台将输出如下信息:BC
本文到此结束,希望对大家有所帮助。
标签:
免责声明:本文由用户上传,与本网站立场无关。财经信息仅供读者参考,并不构成投资建议。投资者据此操作,风险自担。 如有侵权请联系删除!