有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!


共 (2) 个答案

  1. # 1 楼答案

    Integer max2( List<Integer> list ){
      if(list.size() < 2) throw...
      Integer[] max = new Integer[]{ list.get(0), list.get(1) };
      if( max[0] < max[1] ){ max[0] = max[1]; max[1] = list.get(0); }
      return maxdo( list, 2, max );
    }
    
    Integer maxdo( List<Integer> list, int pos, Integer[] max ){
      if( pos >= list.size() ) return max[1];
      Integer next = list.get(pos);
      if( next > max[0] ){ max[1] = max[0]; max[0] = next; }
      else if( next > max[1] ){ max[1] = next; }
      return maxdo( list, pos+1, max );
    }
    

    没有经过测试,没有用javac尝试过,但我想你会明白的

  2. # 2 楼答案

    先排序
    然后,获取ArrayList中的第二个

    例如:

     ArrayList<Integer> arrayList = new ArrayList<Integer>();
     arrayList.add(1000);
     arrayList.add(10220);
     arrayList.add(990);
     Collections.sort(arrayList);
     System.out.println(arrayList.get(arrayList.size() - 2));