4.list中查看(判断)元素的索引;
注意:.indexOf(); 和 lastIndexOf()的不同;
///*****************************************////
List<String> NBAStars = new ArrayList<String>();
NBAStars.add("库里"); //索引0
NBAStars.add("汤普森"); //索引1
NBAStars.add("杜兰特"); //索引2
NBAStars.add("库里"); //索引3
NBAStars.add("哈登"); //索引4
NBAStars.add("戴维斯");
NBAStars.add("詹姆斯");
NBAStars.add("杜兰特");
System.out.println(NBAStars.indexOf("杜兰特"));
System.out.println(NBAStars.lastIndexOf("杜兰特"));
System.out.println(NBAStars.indexOf("库里"));
效果图:
5.根据元素索引位置进行的判断:
1 if(NBAStars.indexOf("杜兰特")==2){
2 System.out.println("杜兰特在这里");
3 }else if (NBAStars.indexOf("杜兰特")==7) {
4 System.out.println("杜兰特在那里");
5 }else {
6 System.out.println("杜兰特在勇士?");
7 }
6.利用list中索引位置重新生成一个新的list(截取集合);
方法: .subList(fromIndex, toIndex); .size() ; 该方法得到list中的元素数的和
1 List<String> phone=new ArrayList<>();
2 phone.add("三星"); //索引为0
3 phone.add("苹果"); //索引为1
4 phone.add("锤子"); //索引为2
5 phone.add("华为"); //索引为3
6 phone.add("小米"); //索引为4
7 //原list进行遍历
8 for(String pho:phone){
9 System.out.println(pho);
10 }
11 //生成新list
12 phone=phone.subList(1, 4); //.subList(fromIndex, toIndex) //利用索引1-4的对象重新生成一个list,但是不包含索引为4的元素,4-1=3
13 for (int i = 0; i < phone.size(); i++) { // phone.size() 该方法得到list中的元素数的和
14 System.out.println("新的list包含的元素是"+phone.get(i));
15 }
7.对比两个list中的所有元素:
//两个相等对象的equals方法一定为true, 但两个hashcode相等的对象不一定是相等的对象
System.out.println("两个list中的所有元素相同");
}else {
System.out.println("两个list中的所有元素不一样");
}
if (person.hashCode()==fruits.hashCode()) {
System.out.println("我们相同");
}else {
System.out.println("我们不一样");
}
8.判断list是否为空;
//空则返回true,非空则返回false
if (person.isEmpty()) {
System.out.println("空的");
}else {
System.out.println("不是空的");
}
9.返回Iterator集合对象:
System.out.println("返回Iterator集合对象:"+person.iterator());
10.将集合转换为字符串;
String liString="";
liString=person.toString();
System.out.println("将集合转换为字符串:"+liString);
11.将集合转换为数组:
System.out.println("将集合转换为数组:"+person.toArray());
12.集合类型转换:
List<Object> listsStrings=new ArrayList<>();
for (int i = 0; i < person.size(); i++) {
listsStrings.add(person.get(i));
}
//2.指定类型
List<StringBuffer> lst=new ArrayList<>();
for(String string:person){
lst.add(StringBuffer(string));
}
13.去重复:
1 List<String> lst1=new ArrayList<>();
2 lst1.add("aa");
3 lst1.add("dd");
4 lst1.add("ss");
5 lst1.add("aa");
6 lst1.add("ss");
7
8 //方法 1.
9 for (int i = 0; i <lst1.size()-1; i++) {
10 for (int j = lst1.size()-1; j >i; j--) {
11 if (lst1.get(j).equals(lst1.get(i))) {
12 lst1.remove(j);
13 }
14 }
15 }
16 System.out.println(lst1);
17
18 //方法 2.
19 List<String> lst2=new ArrayList<>();
20 for (String s:lst1) {
21 if (Collections.frequency(lst2, s)<1) {
22 lst2.add(s);
23 }
24 }
25 System.out.println(lst2);