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);
}
}
控制台输出内容