• Day_11【集合】扩展案例5_对list集合对象中的元素进行反转,求最大值最小值,求元素i在list集合中首次出现的索引,将oldvalue替换为newvalue


    分析以下需求,并用代码实现

    •  定义MyArrays工具类,该工具类中有以下方法,方法描述如下:
      
       1.public static void reverse(ArrayList<Integer> list);
       	参数ArrayList<Integer> list:要进行操作的集合对象		
       		要求:对list集合对象中的元素进行反转
       			(第一个和最后一个交换,第二个和倒数第二个交换,第三个和倒数第三个交换...)
      
       2.public static Integer max(ArrayList<Integer> list);
       	参数ArrayList<Integer> list:要进行操作的集合对象		
       		要求:求出list集合对象中的最大值并返回
      
       3.public static Integer min(ArrayList<Integer> list);
       	参数ArrayList<Integer> list:要进行操作的集合对象		
       		要求:求出list集合对象中的最小值并返回
      
       4.public static int indexOf(ArrayList<Integer> list,Integer i);
       	参数ArrayList<Integer> list:要进行操作的集合对象
       	参数Integer i:需要在集合中查找的元素
       		要求:求出元素i在list集合中第一次出现的索引,如果没有返回-1
      
       5.public static void replaceAll(ArrayList<Integer> list,Integer oldValue,Integer newValue);
       	参数ArrayList<Integer> list:要进行操作的集合对象
       	参数Integer oldValue:需要被替换掉的原值
       	参数Integer newValue:替换后的新值
       		要求:将list集合中的所有值为oldValue的元素替换为newValue
      

    代码

    package com.itheima5;
    
    import java.util.ArrayList;
    
    public class MyArrays {
    	
    	/*
    	 * 	public static void reverse(ArrayList<Integer> list);
    	 *			参数ArrayList<Integer> list:要进行操作的集合对象		
    	 *				要求:对list集合对象中的元素进行反转
    	 * 					(第一个和最后一个交换,第二个和倒数第二个交换,第三个和倒数第三个交换...)
    	 */
    	public static void reverse(ArrayList<Integer> list) {
    		for(int start = 0,end = list.size() - 1;start < end;start++,end--) {
    			Integer in = list.get(start);
    			list.set(start, list.get(end));
    			list.set(end, in);
    		}
    	}
    	
    	/*
    	 *	public static Integer max(ArrayList<Integer> list);
    	 * 			参数ArrayList<Integer> list:要进行操作的集合对象		
    	 * 				要求:求出list集合对象中的最大值并返回
    	 */
    	public static Integer max(ArrayList<Integer> list) {
    		Integer max = list.get(0);
    		for(int i = 0;i < list.size();i++) {
    			if(list.get(i) > max) {
    				max = list.get(i);
    			}
    		}
    		return max;
    	}
    	
    	/*
    	 * 	public static Integer min(ArrayList<Integer> list);
    	 * 			参数ArrayList<Integer> list:要进行操作的集合对象		
    	 * 				要求:求出list集合对象中的最小值并返回
    	 */
    	public static Integer min(ArrayList<Integer> list) {
    		Integer min = list.get(0);
    		for(int i = 0;i < list.size();i++) {
    			if(list.get(i) < min) {
    				min = list.get(i);
    			}
    		}
    		return min;
    	}
    	
    	/*
    	 * public static int indexOf(ArrayList<Integer> list,Integer i);
    	 * 			参数ArrayList<Integer> list:要进行操作的集合对象
    	 * 			参数Integer i:需要在集合中查找的元素
    	 * 				要求:求出元素i在list集合中第一次出现的索引,如果没有返回-1
    	 */
    	public static int indexof(ArrayList<Integer> list,Integer i) {
    		return list.indexOf(i);
    	}
    	
    	/*
    	 * public static void replaceAll(ArrayList<Integer> list,Integer oldValue,Integer newValue);
    	 * 			参数ArrayList<Integer> list:要进行操作的集合对象
    	 * 			参数Integer oldValue:需要被替换掉的原值
    	 * 			参数Integer newValue:替换后的新值
    	 * 				要求:将list集合中的所有值为oldValue的元素替换为newValue
    	 */
    	public static void replaceAll(ArrayList<Integer> list,Integer oldValue,Integer newValue) {
    		for(int i = 0;i < list.size();i++) {
    			if(list.get(i).equals(oldValue)) {
    				list.set(i, newValue);
    			}
    		}
    	}
    }
    
    
    package com.itheima5;
    
    import java.util.ArrayList;
    
    public class ToolTest {
    	public static void main(String[] args) {
    		ArrayList<Integer> list = new ArrayList<Integer>();
    		
    		list.add(123);
    		list.add(234);
    		list.add(345);
    		list.add(543);
    		list.add(432);
    		list.add(321);
    		
    		MyArrays ma = new MyArrays();
    		
    		ma.reverse(list);
    		System.out.println(list);
    		
    		
    		System.out.println(ma.max(list));
    		
    		System.out.println(ma.min(list));
    		
    		Integer i = 432;
    		System.out.println(ma.indexof(list, i));
    		
    		Integer oldValue = 321;
    		Integer newValue = 111;
    		ma.replaceAll(list, oldValue, newValue);
    		System.out.println(list);
    		
    	}
    
    }
    
    

    控制台输出内容
    console

  • 相关阅读:
    结对编程项目作业2-结对编项目设计文档
    20170914-构建之法:现代软件工程-阅读笔记
    课后作业-阅读任务-阅读提问-1
    GIT 的使用方法
    团队-井字棋-需求分析
    结对-贪吃蛇-需求分析
    python_基础_0
    Unix_07_文件系统高级操作_2
    Unix_06_文件系统高级操作_1
    Unix_05_文件系统高级操作_0
  • 原文地址:https://www.cnblogs.com/zzzsw0412/p/12772527.html
Copyright © 2020-2023  润新知