Java学习个人备忘录之数组工具类
下面主要讲解一个针对数组操作的工具类。
a.java -- 工具类文件
//按理来说要先编译本文件, 然后再编译主函数
class ArrayTool
{
/*
获取整型数组的最大值
*/
public int getMax(int[] arr)
{
int maxIndex = 0;
for (int x=1; x<arr.length ; x++ )
{
if (arr[x]>arr[maxIndex])
{
maxIndex = x;
}
}
return arr[maxIndex];
} /*
选择排序
*/
public void selectSort(int[] arr)
{
for (int x=0; x<arr.length-1 ; x++ )
{
for (int y=x+1; y<arr.length ; y++ )
{
if (arr[x]>arr[y])
{
swap(arr,x,y);
}
}
}
} //交换两个单元的值
private void swap(int [] arr,int a,int b)
{
int temp = arr[a];
arr[a] = arr[b];
arr[b] = arr[a];
} /*
根据该单元的值,找到该单元的键
*/
public int getIndex(int[] arr,int key)
{
for (int x=0; x<arr.length ; x++ )
{
if (arr[x]==key)
{
return x;
}
}
return -1;
} /*
将数组转成字符串
*/
public String arrayToString(int[] arr)
{
String str = "[";
for (int x=0; x<arr.length ; x++ )
{
if (x != arr.length-1)
str = str + arr[x] + ", ";
else
str = str + arr[x] + "]";
}
return str;
}
}
b.java -- 主函数
//实际上直接编译主函数就可以,其他的有关文件就会被自动编译
class ArrayToolDemo
{
public static void main(String[] args)
{
int[] arr = {4,8,2,9,7,6}; ArrayTool tool = new ArrayTool(); int max = tool.getMax(arr);
System.out.println("max="+max);
int index = tool.getIndex(arr,10);
System.out.println("index="+index);
}
}
工具类中的静态的使用
在类中没有访问到成员变量的方法,我们将它变为静态类。
因为我们在调用方法时,需要先创建对象,如ArrayTool tool = new ArrayTool();
但是我们所要调用的方法 如 getMax(),它并没有访问成员变量,如果我们还是要创建对象的话,那么就是在浪费空间。
优化后的代码如下:
c.java
class ArrayTool
{
private ArrayTool(){};
//该类中的方法都是静态的,所以该类是不需要创建对象的.
//为了保证不让其他人创建对象,可以将构造函数私有化. /*
获取整型数组的最大值
*/
public static int getMax(int[] arr)
{
int maxIndex = 0;
for (int x=1; x<arr.length ; x++ )
{
if (arr[x]>arr[maxIndex])
{
maxIndex = x;
}
}
return arr[maxIndex];
} /*
选择排序
*/
public static void selectSort(int[] arr)
{
for (int x=0; x<arr.length-1 ; x++ )
{
for (int y=x+1; y<arr.length ; y++ )
{
if (arr[x]>arr[y])
{
swap(arr,x,y);
}
}
}
} //交换两个单元的值
private static void swap(int [] arr,int a,int b)
{
int temp = arr[a];
arr[a] = arr[b];
arr[b] = arr[a];
} /*
根据该单元的值,找到该单元的键
*/
public static int getIndex(int[] arr,int key)
{
for (int x=0; x<arr.length ; x++ )
{
if (arr[x]==key)
{
return x;
}
}
return -1;
} /*
将数组转成字符串
*/
public static String arrayToString(int[] arr)
{
String str = "[";
for (int x=0; x<arr.length ; x++ )
{
if (x != arr.length-1)
str = str + arr[x] + ", ";
else
str = str + arr[x] + "]";
}
return str;
}
}
b.java
class ArrayToolDemo
{
public static void main(String[] args)
{
int[] arr = {4,8,2,9,7,6}; // ArrayTool tool = new ArrayTool(); // 因为是静态方法,所以省略了这一步 int max = ArrayTool.tool.getMax(arr);
System.out.println("max="+max); int index = ArrayTool.tool.getIndex(arr,10);
System.out.println("index="+index);
}
}
Java学习个人备忘录之数组工具类的更多相关文章
- Java学习笔记49(DBUtils工具类二)
上一篇文章是我们自己模拟的DBUtils工具类,其实有开发好的工具类 这里使用commons-dbutils-1.6.jar 事务的简单介绍: 在数据库中应用事务处理案例:转账案例 张三和李四都有有自 ...
- Java学习笔记48(DBUtils工具类一)
上一篇的例子可以明显看出,在增删改查的时候,很多的代码都是重复的, 那么,是否可以将增删改查封装成一个类,方便使用者 package demo; /* * 实现JDBC的工具类 * 定义方法,直接返回 ...
- java学习笔记37(sql工具类:JDBCUtils)
在之前的内容中,我们发现,当我们执行一条语句时,每新建一个方法,就要重新连接一次数据库,代码重复率很高,那么能不能把这些重复代码封装成一个类呢,我们学习方法时,就学习到方法就是为了提高代码的利用率,所 ...
- Java学习个人备忘录之数组
数组 概念:同一种类型数据的集合,其实数组就是一个容器. 数组的好处:可以自动给数组中的元素从0开始编号,方便操作这些元素. 格式1:元素类型[] 数组名 = new 元素类型[元素个数]; 格式2: ...
- Java学习笔记七——数组工具类Arrays
数组工具类Arrays Java提供的Arrays类里包含的一些static修饰的方法可以直接操作数组.若将里面的方法用熟的话,那开发效率会大大提高.下面介绍其中的方法. List<T> ...
- Java学习:数组工具类Arrays
数组工具类Arrays java.util.Arrays是一个与数组相关的工具类,里面提供了大量的静态方法,用来实现数组常见的操作. public static String toString(数组) ...
- 数组工具类 - ArrayUtil.java
数组工具类,提供数组.对象之间转换的方法. 源码如下:(点击下载 - ArrayUtil.java .commons-lang-2.6.jar) import java.lang.reflect.Ar ...
- java数组 数组工具类Arrays
一.数组 1.java有严格的数据类型限制,一个数组只能声明一个数据类型,存放同一种数据类型. 2.虽然只能存放一种数据类型,假设A , 如果数据类型B 继承A,依然能存放进入数组. 3.数组的初始化 ...
- java - day005 - 数组工具类, 数组复制,二维数组,变量,方法, 面向对象
1. java.util.Arrays 数组工具类 Arrays.toString (数组) 数组值链接字符串 Arrays.sort(数组) 基本类型: 优化的快速排序 引用类型: 优化的合 ...
随机推荐
- 对布局定位设置-position
使用position属性,会激活5个属性 left right bottom top z-index(-1至999) 注:z-index:会改变内容的层级关系, 1.绝对定位 position: ab ...
- Excel2003 去除重复项
利用 数据透视表 间接 获得 非重复项 1] 选中要去除重复项 的列 数据 2] 3]将选中列移动到 左侧 即可 4] 或者导入到Access中,用sql 语句中的 distinct SELECT D ...
- s3c2440串口详解
一.UART原理说明 通用异步收发器简称UART(Universal Asynchronous Receiver/Transmitter),它用来传输串行数据:发送数据时,CPU将并行数据写入UART ...
- HttpClient的Content-Type设置
HttpClient的Content-Type设置 最近在对接公司内容的一个云服务的时候,遇到一个问题,就是如果使用HttpClient如何设置post时候的Content-Type? public ...
- python字符串格式化符号及转移字符含义
博文出自鱼C论坛文章 http://bbs.fishc.com/thread-39140-1-1.html
- Ajax跨域请求怎么解决?
前言 项目中需要将第三方系统中,对应用户的代办消息集成到系统中.对方提供了获取对应用户的接口url,但是由于两边的系统是部署到客户现场不同IP的虚机上的,所以进行ajax请求的时候是属于跨域请求的.之 ...
- jquery 点滴
jQuery——动态给表格添加序号 $(function(){ //$('table tr:not(:first)').remove(); var len = $('table tr').length ...
- iOS SSL Pinning 保护你的 API
随着互联网的发展,网站全面 https 化已经越来越被重视,做为 App 开发人员,从一开始就让 API 都走 SSL 也是十分必要的.但是光这样就足够了吗? SSL 可以保护线上 API 数据不被篡 ...
- Unity AssetBundle工作流
一.创建AssetBundle 1.在资源的Inspector视图下有一个AssetBundle的UI,第一个选项表示AssetBundle名称,第二个用于设置AssetBundle Variant, ...
- 2019年猪年海报PSD模板-第八部分
11套精美猪年海报,免费猪年海报,下载地址:百度网盘,https://pan.baidu.com/s/1Y3wc_r7O-Dp0mLCihJ9mtQ