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

原文地址:https://www.cnblogs.com/zzzsw0412/p/12772527.html