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

  •  定义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); } }

控制台输出内容

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

  1. Day_09【常用API】扩展案例5_获取长度为5的随机字符串,字符串由随机的4个大写英文字母和1个0-9之间(包含0和9)的整数组成

    分析以下需求,并用代码实现 1.定义String getStr(char[] chs)方法 功能描述:获取长度为5的随机字符串,字符串由随机的4个大写英文字母和1个0-9之间(包含0和9)的整数组成 ...

  2. elasticsearch聚合案例--分组、求最大值再求最大值的均值

    一.需求 A.B.C代表3个用户,第二列代表各自的得分,求A.B.C的最好成绩以及A.B.C最好成绩的均值 A 10 A 11 A 13 B 11 B 11 B 12 C 10 C 10 C 11 C ...

  3. Day_11【集合】扩展案例2_使用普通for循环获取集合中索引为3的元素并打印,统计集合中包含字符串"def"的数量,删除集合中的所有字符串",将集合中每个元素中的小写字母变成大写字母def",

    分析以下需求,并用代码实现 1.定义ArrayList集合,存入多个字符串"abc" "def" "efg" "def" ...

  4. Day_12【集合】扩展案例1_利用集合的知识对长度为10的int数组进行去重,产生新数组,不能改变数组中原来数字的大小顺序

    分析以下需求,并用代码实现 1.定义一个长度为10的int数组,并存入10个int类型的数据,其中有一些数据是重复的 2.利用集合的知识对数组进行去重,产生新数组,不能改变数组中原来数字的大小顺序 3 ...

  5. 《java入门第一季》之ArrayList集合小案例

    案例一:去除集合里面的重复元素 package cn.itcast_04; import java.util.ArrayList; /* * ArrayList去除集合中字符串的重复值(字符串的内容相 ...

  6. 006-guava 集合-集合工具类-集合扩展工具类

    一.概述 需要实现自己的集合扩展.也许你想要在元素被添加到列表时增加特定的行为,或者你想实现一个Iterable,其底层实际上是遍历数据库查询的结果集 二.使用 2.1.ForwardingList装 ...

  7. 浅谈集合框架六——集合扩展:Arrays工具类、集合与数组相互转换方式;

    最近刚学完集合框架,想把自己的一些学习笔记与想法整理一下,所以本篇博客或许会有一些内容写的不严谨或者不正确,还请大神指出.初学者对于本篇博客只建议作为参考,欢迎留言共同学习. 之前有介绍集合框架的体系 ...

  8. 浅谈集合框架四——集合扩展:集合循环输出方式及list输出方式的效率对比

    最近刚学完集合框架,想把自己的一些学习笔记与想法整理一下,所以本篇博客或许会有一些内容写的不严谨或者不正确,还请大神指出.初学者对于本篇博客只建议作为参考,欢迎留言共同学习. 之前有介绍集合框架的体系 ...

  9. 【Java】集合综合案例 - 播放器管理

    集合综合案例 文章目录 集合综合案例 需求分析 项目演示 详细设计 代码实现 歌曲类 播放器类 播放列表类 测试 参考资料 播放器管理 需求分析 项目演示 详细设计 代码实现 重新搞一波 复习巩固 简 ...

随机推荐

  1. T - Nash Matrix CodeForces - 1316D

    题意: 输入n行数,没行由2*n个数,表示一个坐标(x,y). 如果x和y==-1表示从该点(i,j)出发,按照构造的前移动不会停下. 否则就要到点(x,y)处停下. 题解: 首先处理-1  枚举每个 ...

  2. jdbctemplate打印sql

    在logback.xml里加入如下配置即可: <include resource="org/springframework/boot/logging/logback/base.xml& ...

  3. 《并发编程的艺术》阅读笔记之Sychronized

    概述 在JDK1.6中,锁一共四种状态,级别由低到高依次是:无锁状态.偏向锁状态.轻量级锁状态和重量级锁状态.锁可以升级但不能降级,这是为了提高获得锁和释放锁的效率.只有重量级锁涉及到操作系统线程切换 ...

  4. Springboot:配置文件位置以及多环境配置(六)

    配置文件位置 Springboot配置文件可以加载以下四个位置: file:./config/ #第一加载位置 file:./ #第二加载位置 classpath:/config/ #第三加载位置 c ...

  5. SringMVC入门程序

    Spring MVC是Spring Framework的一部分,是基于Java实现MVC的轻量级Web框架 1.Spring优点 轻量级,简单易学 高效 , 基于请求响应的MVC框架 与Spring兼 ...

  6. APT32入侵我国,试图窃取COVID-19相关情报

    新闻一篇: 一直以来,APT32都以东南亚为攻击目标,并且是近几年来针对中国大陆进行攻击活动最活跃的APT攻击组织,没有之一.此次再将目标对准中国,与新冠疫情离不开关系. 4月22日,Fireye发布 ...

  7. 对JavaScript中原型及原型链的理解

    什么是原型:  1,我们所创建的每一个函数,解析器都会向该函数对象添加一个属性prototype,这个属性指向一个对象,这个对象就是我们所谓的原型对象 2,如果我们将函数作为普通函数调用时,proto ...

  8. 2019-2020-1 20199310《Linux内核原理与分析》第十一周作业

    1.问题描述 在一个capability系统中,当一个程序运行时,对应的线程会初始化一系列capabilities(令牌).当线程尝试访问某个对象时,操作系统会检查该线程的capabilities,并 ...

  9. 如何在 Inno Setup 中执行命令行的命令

    Pascal Scripting: Exec Prototype: function Exec(const Filename, Params, WorkingDir: String; const Sh ...

  10. Qt 的日期 时间

    QDateTime 的构造函数,有参数是QDate的.这样就可以把日期转化成 QDateTime. QDateTime.toTime_t() 可以转化成 Unix 时间.