zoukankan      html  css  js  c++  java
  • 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);
  • 相关阅读:
    springMVC将处理的后的数据通过post方法传给页面时,可能会出现乱码问题,下面提出解决post乱码问题的方法
    div3的e题有点水呀
    鸽天的放鸽序列---牛客网
    CodeForces
    NOIP2009 压轴---最优贸易
    在加权无向图上求出一条从1号结点到N号结点的路径,使路径上第K+1大的边权尽量小
    好久没写题解了
    皇宫看守问题(带权树上独立集)
    树的最大独立集合问题
    拓扑排序+动态规划
  • 原文地址:https://www.cnblogs.com/Shanghai-vame/p/8250782.html
Copyright © 2011-2022 走看看