数组工具对象建立
来源:互联网 发布:网络剧 有毒 第一集 编辑:程序博客网 时间:2024/06/08 05:33
数组工具对象建立
class ArrayToolDemo{
public static void main(String[] args){
int[] arr={4,8,2,9,72,6}
ArrayTool tool=new ArrayTool();//求最值
int max=ArrayTool.getMax(arr);
System.out.println("max="+max);
int index=ArrayTool.getIndex(arr,10)//查找一个角标(10);
}
}
class ArrayTool//封装数据
{
private ArrayTool(){}//该类中的方法都是静态的,所以该类是不需要创建对象的 。为了保证不让其他创建对象,可以将构造函数私有化。
//获取整型数组的最大值
public static int getMax(int[] arr){
ing MaxIndex=0;
for(int x=1,x<arr.length;x++){
if(arr[x]>arr[maxIndex])
maxIndex=x;
}
return arr[maxIndex];
}
public static void seletSort(int[] args)//选择排序
{
for(int x=0;x<arr.length-1){
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]=temp;
}
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=atr+arr[x]+"]";
}
return str;
}
}
文档注释
/**
建立一个用于操作数组的工具类,其中包含着常见的对数组操作的函数如:最值,排序等。
@ author 张三
@version v1.0
*/
/**
获取整型数组的最值
@Param arr接受一个元素为int类型的数组
@return 该数组的最大的元素值
*/
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];
}
}
/**
对数组进行选择排序
@Param arr接受一个元素为int类型的数组
*/
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)
}
}
}
/**
用于给数组进行元素的位置置换
@Param arr接受一个元素为int类型的数组
@Param a
@Param b
*/
public static void swap(int[] arr,int a,int b)(
int temp=arr[a];
arr[a]=arr[b];
arr[b]=temp;
)
/**
获取指定的元素在指定数组中的索引
@Param arr接受一个元素为int类型的数组
@Prarm key
@
*/
public static int getIndex(int[] arr,int key){
for(int x=0;x<arr.length;x++){
if(arr[x]==key)
return x;
}
return -1;
}
/**
将int数组转换成字符串。格式是[e1,e2,...]
@Param arr接受一个元素为int类型的数组
@return 返回该类数组的字符串表现形式。
*/
public static String arrayToString(int[] arr){
String str="[";
for(int x=0;x<arr.length;x++){
if(x!=arr.length-1)
str=atr+arr[x]+", ";
else
str=str+arr[x]+"]";
}
return str;
}
class ArrayToolDemo{
public static void main(String[] args){
int[] arr={4,8,2,9,72,6};
ArrayTool tool=new ArrayTool();//求最值
int max=ArrayTool.getMax(arr);
System.out.println("max="+max);
int index=ArrayTool.getIndex(arr,10);//查找一个角标(10)
System.out.println("index="+index);
}
}
单例设计模式——概述——体现
设计模式:对问题行之有效的解决方式。其实它是一个思想。
1单例设计模式:
解决问题:就是可以保证一个类在内存中的对象唯一性。
必须对于多个程序使用同一个配置信息对象时,就需要保证该对象的唯一性。
如何保证对象的唯一性呢?
1,不予许其他程序用new创建该类对象
好处:可以避免产生多个对象。
2,在该类中创建一个本类实例。
3,对外提供一个方法让其他程序可以获取该对象。
步骤:
1,私有化该类构造函数
2,通过new在本类中创建一个本类对象
3,定义一个公有的方法,将创建的对象返回。 例1:
例1:
//饿汉式
class String//类一加载,对象就已经不存在了。
{
private static Single s=new Single();//创建本类对象
private Single(){}//私有构造函数
public static Single getInstance()//对外提供一个本类出去
{ //类型 //方法名
return s;//返回本类对象
}
}
注:这是例1:上面的三个步骤。 getInstance(获取实例的意思)
例:
class SingleDemo{
public static void main(String[] args){
Test t1=new Test();
Test t2=new Test();
t1.setNum(10);
t2.setNum(20);
System.out.println(t1.setNum());
System.out.println(t2.setNum());
}
}
class Test{
private int num;
private static Test t=new Test();
private Test(){}
public static Test getInstance(){
return t;
}
public void setNum(int num){
this.num=num;
}
public int getNum(){
return num;
}
}
单例设计模式——懒汉式 面试题
//懒汉式
class Single2
//类加载进来,没有对象,只有调用了getInstance方法时,才会创建对象。
//另外也叫延迟加类形式
{
private static Single2 s=null;
private Single2(){}
public static Single2 getInstance(){
if(s==null)
s=new Single2();
return s;
}
}
- 数组工具对象建立
- 数组工具对象建立 javadoc
- 黑马程序员----数组工具对象建立、文档注释
- 建立一个对象数组
- 面向对象-数组工具
- jquery-工具-数组对象操作
- 2013年8月20日、关键字this|操作数组(对数组工具对象建立,静态中使用,文档注释)|单例设计模式
- 对象集合、对象数组、数组排序工具类
- javascript之自定义数组工具对象
- 对象字节数组转换工具类
- 建立对象
- 对象与字节数组之间的转换工具类
- 2.4Java面向对象-数组工具类创建使用过程
- 02-面向对象(数组工具类中静态的使用
- java语言数组工具类的建立和静态的使用
- 把vector对象所有元素复制给动态建立的与之大小相同的数组
- Arrays and generics 数组和通用 不能建立对象的几种实现
- 《Java 编程技巧1001条》 第384条 建立对象数组..
- linux内核的队列实现移植
- 构造函数
- Qt下载网络文件
- 并发编程——并行级别
- 多文件导出为ZIP文件
- 数组工具对象建立
- 移动应用渗透测试的军火库清单
- 使用Python完成机器学习算法之Logistic Regression
- 在 Alpine Linux 上编译 Linux0.11 内核
- CXF
- MFC中的视图
- 责任链模式【Chain of Responsibility Pattern】
- 互联网和金融 在数据挖掘上究竟存在什么区别
- Life is beautiful