Java如何对List集合的操作方法(二)

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

 

posted @ 2018-01-09 12:04  vame  Views(403)  Comments(0Edit  收藏  举报