Java——int、double型数组常用操作工具类
学了数组之后,感觉有好多操作需要经常去写,很不方便,因此自己做了一个工具类,方便调用,方法可能不全,希望大家可以添加,让我使用也方便一点儿。
public class ArrayUtils {
//求数组的最大值(int)
public static int getMax(int[] arr){
int max = arr[0];
for(int i = 0;i<arr.length;i++){
if(max<arr[i]){
max = arr[i];
}
}
return max;
}
//求数组的最小值(int)
public static int getMin(int[] arr){
int min = arr[0];
for(int i = 0;i<arr.length;i++){
if(min>arr[i]){
min = arr[i];
}
}
return min;
}
//得到数组最大值的下标(int)
public static int getMaxIndex(int[] arr){
int maxIndex = 0;
for(int i = 0;i <arr.length;i++){
if(arr[maxIndex]<arr[i]){
maxIndex = i;
}
}
return maxIndex;
}
//得到数组最小值的下标(int)
public static int getMinIndex(int[] arr){
int minIndex = 0;
for(int i = 0;i <arr.length;i++){
if(arr[minIndex]>arr[i]){
minIndex = i;
}
}
return minIndex;
}
//获得数组之和(int)
public static int getSum(int[] arr){
int sum = 0;
for(int i = 0; i < arr.length;i++){
sum += arr[i];
}
return sum;
}
//获得平均值(int)
public static int getAverage(int[] arr){
int avg = getSum(arr)/arr.length;
return avg;
}
//打印数组(int)
public static void printArray(int[] arr){
for(int i = 0;i<arr.length;i++){
if(i!=arr.length-1){
System.out.print(arr[i]+",");
}else{
System.out.println(arr[i]);
}
}
}
//选择排序对数据进行降序排序(int)
public static void selectSortDescendingArray(int[] arr){
for(int i = 0; i<arr.length-1;i++){//i<arr.length-1;最后一个不用比较
for(int j = i+1;j<arr.length;j++){
if(arr[i]<arr[j]){
int temp = arr[j];
arr[j] = arr[i];
arr[i] = temp;
}
}
}
}
//选择排序对数据进行升序排序(int)
public static void selectSortAscendingArray(int[] arr){
for(int i = 0; i<arr.length-1;i++){//i<arr.length-1;最后一个不用比较
for(int j = i+1;j<arr.length;j++){
if(arr[i]>arr[j]){
int temp = arr[j];
arr[j] = arr[i];
arr[i] = temp;
}
}
}
}
//冒泡排序对数据进行降序排序(int)
public static void bubbleSortDescendingArray(int[] arr){
for(int i = 0;i<arr.length-1;i++){
for(int j = 0;j<arr.length-1-i;j++){
if(arr[j]<arr[j+1]){
int temp = arr[j+1];
arr[j+1] = arr[j];
arr[j] = temp;
}
}
}
}
//冒泡排序对数据进行升序排序(int)
public static void bubbleSortAscendingArray(int[] arr){
for(int i = 0;i<arr.length-1;i++){
for(int j = 0;j<arr.length-1-i;j++){
if(arr[j]>arr[j+1]){
int temp = arr[j+1];
arr[j+1] = arr[j];
arr[j] = temp;
}
}
}
}
//二分查找(int)
public static int binarySearch(int[] arr,int key){
int min,mid,max;
min = 0;
max = arr.length-1;
while(arr[min]<arr[max]){
mid = (min+max)/2;
if(key>arr[mid]){
min = mid+1;
}else if(key<arr[mid]){
max = mid-1;
}else {
return mid;
}
}
return -1;
}
//*********************************************************************
//求数组的最大值(double)
public static double getMax(double[] arr){
double max = arr[0];
for(int i = 0;i<arr.length;i++){
if(max<arr[i]){
max = arr[i];
}
}
return max;
}
//求数组的最小值(double)
public static double getMin(double[] arr){
double min = arr[0];
for(int i = 0;i<arr.length;i++){
if(min>arr[i]){
min = arr[i];
}
}
return min;
}
//得到数组最大值的下标(double)
public static int getMaxIndex(double[] arr){
int maxIndex = 0;
for(int i = 0;i <arr.length;i++){
if(arr[maxIndex]<arr[i]){
maxIndex = i;
}
}
return maxIndex;
}
//得到数组最小值的下标(double)
public static int getMinIndex(double[] arr){
int minIndex = 0;
for(int i = 0;i <arr.length;i++){
if(arr[minIndex]>arr[i]){
minIndex = i;
}
}
return minIndex;
}
//获得数组之和(double)
public static double getSum(double[] arr){
double sum = 0;
for(int i = 0; i < arr.length;i++){
sum += arr[i];
}
return sum;
}
//获得平均值(double)
public static double getAverage(double[] arr){
double avg = getSum(arr)/arr.length;
return avg;
}
//打印数组(double)
public static void printArray(double[] arr){
for(int i = 0;i<arr.length;i++){
if(i!=arr.length-1){
System.out.print(arr[i]+",");
}else{
System.out.println(arr[i]);
}
}
}
//选择排序对数据进行降序排序(double)
public static void selectSortDescendingArray(double[] arr){
for(int i = 0; i<arr.length-1;i++){//i<arr.length-1;最后一个不用比较
for(int j = i+1;j<arr.length;j++){
if(arr[i]<arr[j]){
double temp = arr[j];
arr[j] = arr[i];
arr[i] = temp;
}
}
}
}
//选择排序对数据进行升序排序(double)
public static void selectSortAscendingArray(double[] arr){
for(int i = 0; i<arr.length-1;i++){//i<arr.length-1;最后一个不用比较
for(int j = i+1;j<arr.length;j++){
if(arr[i]>arr[j]){
double temp = arr[j];
arr[j] = arr[i];
arr[i] = temp;
}
}
}
}
//冒泡排序对数据进行降序排序(double)
public static void bubbleSortDescendingArray(double[] arr){
for(int i = 0;i<arr.length-1;i++){
for(int j = 0;j<arr.length-1-i;j++){
if(arr[j]<arr[j+1]){
double temp = arr[j+1];
arr[j+1] = arr[j];
arr[j] = temp;
}
}
}
}
//冒泡排序对数据进行升序排序(double)
public static void bubbleSortAscendingArray(double[] arr){
for(int i = 0;i<arr.length-1;i++){
for(int j = 0;j<arr.length-1-i;j++){
if(arr[j]>arr[j+1]){
double temp = arr[j+1];
arr[j+1] = arr[j];
arr[j] = temp;
}
}
}
}
//二分查找(double)
public static int binarySearch(double[] arr,double key){
int min,mid,max;
min = 0;
max = arr.length-1;
while(arr[min]<arr[max]){
mid = (min+max)/2;
if(key>arr[mid]){
min = mid+1;
}else if(key<arr[mid]){
max = mid-1;
}else {
return mid;
}
}
return -1;
}
}
Java——int、double型数组常用操作工具类的更多相关文章
- JAVA基础(二)—— 常用的类与方法
JAVA基础(二)-- 常用的类与方法 1 Math类 abs ceil floor 绝对值 大于等于该浮点数的最小整数 小于等于该浮点数的最大整数 max min round 两参数中较大的 两参数 ...
- Java第六天,API中常用的类,StringBuffer、StringBuilder、包装类、System类的使用
System (1)这个类中有很多可以获取系统信息的类. public class SystemLearn { public static void main(String[] args) { lon ...
- 利用Java反射机制对实体类的常用操作工具类ObjectUtil
代码: ObjectUtil类: import java.lang.reflect.Field; import java.math.BigDecimal; import java.text.Simpl ...
- 分享JAVA的FTP和SFTP相关操作工具类
1.导入相关jar <!--FTPClient--><dependency> <groupId>commons-net</groupId> <a ...
- java消除整型数组中重复的元素,排序后输出新数组
法一: import java.util.Arrays; import java.util.Scanner; public class Main { public static void main(S ...
- java 将整型数组转化为字符串
java arrays 和arrayList 的区别 package com.vc; import java.util.Arrays; public class Demo05 { public sta ...
- Java中Collection、Map常用实现类研究分析
接口/实现类 描述 key是否可为null 为null是否报错 key是否重复 key重复是否报错 key是否和添加一致 是否线程安全 List 一组元素的集合 ArrayList 基于数组存储,读取 ...
- 数组转集合、集合转数组、字符串数组与int型、long型数组等的转换
在项目中经常会遇到数组转集合.集合转数组.数组之间类型转换等操作 1.数组转集合 为了实现把一个数组转换成一个ArrayList,很多Java程序员会使用如下的代码: String str[] = { ...
- JAVA常用工具类汇总
一.功能方法目录清单: 1.getString(String sSource)的功能是判断参数是否为空,为空返回"",否则返回其值: 2.getString(int iSource ...
随机推荐
- iOS 数组遍历过程中移除
参考:https://blog.csdn.net/u011619283/article/details/53135502 常见crash 原因是数组在移除元素后,继续遍历会有越界问题. 解决思路: 遍 ...
- Oracle 中序列使用
转 https://www.cnblogs.com/21-forever/p/11265924.html 序列: 1.Oracle是不支持自增长的: ①.序列是用于生成唯一.连续序号的对象: ②.序列 ...
- C#用Linq对列表/集合进查询
namespace ---> System.Linq; 使用&&进行多条件查询 也可以直接使用Lambda表达式+扩展方法的写法:
- [Wireshark]_001_入门
Wireshark(前称Ethereal)是一个网络封包分析软件.网络封包分析软件的功能是撷取网络封包,并尽可能显示出最为详细的网络封包资料.Wireshark使用WinPCAP作为接口,直接与网卡进 ...
- 分布式事务专题笔记(三)分布式事务解决方案之TCC(三阶段提交)
个人博客网:https://wushaopei.github.io/ (你想要这里多有) 1.什么是TCC事务 TCC是Try.Confifirm.Cancel三个词语的缩写,TCC要求每个分支 ...
- Java实现 蓝桥杯 算法训练 画图(暴力)
试题 算法训练 画图 问题描述 在一个定义了直角坐标系的纸上,画一个(x1,y1)到(x2,y2)的矩形指将横坐标范围从x1到x2,纵坐标范围从y1到y2之间的区域涂上颜色. 下图给出了一个画了两个矩 ...
- Java实现 LeetCode 面试题13. 机器人的运动范围(DFS)
面试题13. 机器人的运动范围 地上有一个m行n列的方格,从坐标 [0,0] 到坐标 [m-1,n-1] .一个机器人从坐标 [0, 0] 的格子开始移动,它每次可以向左.右.上.下移动一格(不能移动 ...
- Java实现 蓝桥杯VIP 算法训练 新生舞会
问题描述 新生舞会开始了.n名新生每人有三个属性:姓名.学号.性别.其中,姓名用长度不超过20的仅由大小写字母构成的字符串表示,学号用长度不超过10的仅由数字构成的字符串表示,性别用一个大写字符'F' ...
- Java实现 蓝桥杯VIP 算法训练 最大值与最小值的计算
输入11个整数,计算它们的最大值和最小值. 样例输入 0 1 2 3 4 5 6 7 8 9 10 样例输出 10 0 import java.util.Scanner; public class 最 ...
- Java实现 LeetCode 329 矩阵中的最长递增路径
329. 矩阵中的最长递增路径 给定一个整数矩阵,找出最长递增路径的长度. 对于每个单元格,你可以往上,下,左,右四个方向移动. 你不能在对角线方向上移动或移动到边界外(即不允许环绕). 示例 1: ...