• 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);
  • 相关阅读:
    Codeforces Round #610 (Div. 2)C(贪心,思维)
    Educational Codeforces Round 80 (Rated for Div. 2)C(DP)
    BZOJ2190 仪仗队
    BZOJ3613 南园满地堆轻絮
    BZOJ1084 最大子矩阵
    BZOJ1036 树的统计Count
    BZOJ1452 Count
    BZOJ2242 计算器
    BZOJ2705 Longge的问题
    BZOJ1509 逃学的小孩
  • 原文地址:https://www.cnblogs.com/Shanghai-vame/p/8250782.html
Copyright © 2020-2023  润新知