java中数组的应用及方法

1.数组反转


代码如下:

import java.util.Arrays;

public class ArrayReverse {
     public static void main(String[] args){
         int[] arr ={1,2,3,4,5,6,7,8,9};
         reverse(arr);
     }
     public static void reverse(int[] arr){
         for(int i=0;i<arr.length/2;i++){
             int temp = arr[i];
             arr[i] =arr[arr.length-1-i];
             arr[arr.length-1-i]=temp;
         }
         System.out.println(Arrays.toString(arr));
     }
 }

2.求最值


代码如下:

class  ZuiZhi
  {
      public static void main(String[] args)
      {
          int[] a={2,92,34,54,28};
          minMethod(a);
          maxMethod(a);
      }
      public static void minMethod(int[] a)
      {
          int min=a[0];//不能初始化为0 数组中可能有负数
          for (int i=0;i<a.length;i++ )
          {
              if(a[i]<min)
                  min=a[i];
          }
          System.out.println("数组内最小的元素是:"+min);
      }
      public static void maxMethod(int[] a)
      {
          int max=a[0];//不能初始化为0 数组中可能有负数
          for (int i=0;i<a.length;i++ )
          {
              if(a[i]>max)
                  max=a[i];
          }
          System.out.println("数组内最大的元素是:"+max);
      }

}

3.折半查找


代码如下:

/*
  折半查找:
  3 5 7 9 10 14
  min=0 max=length-1 mid=(max+min)/2
  */
  class BinarySearch
  {
      public static void main(String[] args)
      {
          int[] a={3,5,7,9,10,14};
          int index=binarySearch_1(a,7);
          System.out.println(index);
          index=binarySearch_2(a,14);
          System.out.println(index);   
      }
      public static int binarySearch_1(int[] a,int key)
      {
          int min=0,mid,max=a.length-1;
          mid=(min+max)/2;
          while (key!=a[mid])
          {
              if(a[mid]>key)
              {
                  max=mid-1;
              }
              else  if (a[mid]<key)
              {
                  min=mid+1;
              }
              if (max<min)
                  return -1;
              mid=(min+max)/2;

}
          return mid;
      }
      public static int binarySearch_2(int[] a,int key)
      {
          int min=0,max=a.length-1,mid;
          while (min<=max)
          {
              mid =(max+min)>>1;
              if(a[mid]>key)
              {
                  max=mid-1;
              }
              else  if (a[mid]<key)
              {
                  min=mid+1;
              }
              else
                  return mid;
          }
          return -1;
      }

}

(0)

相关推荐

  • Java数组操作的10大方法

    1.定义一个Java数组 String[] aArray = new String[5]; String[] bArray = {"a","b","c", "d", "e"}; String[] cArray = new String[]{"a","b","c","d","e"}; 第一种是定义了一个数组,并

  • java数组及arrays类对数组的操作实例

    数组的初始化有两种方式 静态初始化: 初始化时由程序员显示置顶每个数组的初始值,由系统决定数组长度.如: int[] a1 = new int[] {1,2,3,4}; 动态初始化:初始化时由程序员只指定数组长度,由系统为数组元素分配初始值.如: int[] a = new int[5]; 写一个类测试一下 package chenlizhi; import java.util.Arrays; public class TestArrays { public static void main(S

  • Java数组的基本操作方法整理

    数组是具有相同数据类型的一组数据的集合,Java支持多为数组,一维数组的每个基本单元都是基本数据类型的数据,二维数组就是每个基本单元是一维数组的一维数组,以此类推,n维数组的每个基本单元都是n-1为数组的n-1维数组.下面以一维数组为例说明Java数组的用法. 1.数组声明 数组声明有如下两种形式(方括号的位置不同): int arr[]; int[] arr2; 2.数组初始化 数组初始化也有两种形式,如下(使用new或不使用new): int arr[] = new int[]{1, 3,

  • java中数组的应用及方法

    1.数组反转 复制代码 代码如下: import java.util.Arrays; public class ArrayReverse {     public static void main(String[] args){         int[] arr ={1,2,3,4,5,6,7,8,9};         reverse(arr);     }     public static void reverse(int[] arr){         for(int i=0;i<ar

  • Java中数组的创建与传参方法(学习小结)

    (一)数组的创建 数组的创建包括两部分:数组的申明与分配内存空间. int score[]=null; //申明一维数组 score=new int[3]; //分配长度为3的空间 数组的申明还有另外一种方式: int[] score=null; //把中括号写在数组名前面 通常,在写代码时,为了方便,我们将两行合并为一行: int score[]=new int score[3]; //将数组申明与分配内存写在一行 (二)传递参数 由于初学java,这里只讨论值传递,不考虑地址传递.主要有3点

  • java中数组的定义及使用方法(推荐)

    数组:是一组相关变量的集合 数组是一组相关数据的集合,一个数组实际上就是一连串的变量,数组按照使用可以分为一维数组.二维数组.多维数组 数据的有点 不使用数组定义100个整形变量:int i1;int i2;int i3 使用数组定义 int i[100]; 数组定义:int i[100];只是一个伪代码,只是表示含义的 一维数组 一维数组可以存放上千万个数据,并且这些数据的类型是完全相同的, 使用java数组,必须经过两个步骤,声明数组和分配内存给该数组, 声明形式一 声明一维数组:数据类型

  • Java中数组转List的三种方法与对比分析

    前言: 本文介绍Java中数组转为List三种情况的优劣对比,以及应用场景的对比,以及程序员常犯的类型转换错误原因解析. 一.最常见方式(未必最佳) 通过 Arrays.asList(strArray) 方式,将数组转换List后,不能对List增删,只能查改,否则抛异常. 关键代码:List list = Arrays.asList(strArray); private void testArrayCastToListError() { String[] strArray = new Stri

  • 5种Java中数组的拷贝方法总结分享

    目录 1.for循环 2.调用clone()方法 3.Arrays类中的Arrays.copyOf()方法 4.copyOfRange()方法 5.System.arraycopy()方法 1.for循环 for循环拷贝是最简单直观的方法,循环访问当前数组的每一个元素,并复制到新数组的相应下标. 示例代码: 运行结果: 2.调用clone()方法 该方法是类Object类中的方法:使用clone方法进行拷贝时,是将arr中的所有元素都拷贝下来,不可以挑选. clone() 方法的返回值是 Obj

  • java中的可变参数使用方法

    java中的可变参数使用方法 可变参数时Java 1.5新增的方法,可变参数方法接收0个或者多个指定类型的参数,可变参数机制通过先创建一个数组,数组的大小为在调用位置所传递的参数数量,然后将参数值传到数组中,最后将数组传递给方法.如: public class Test{ public int sum(int... args) { int sum = 0; for (int arg : args) { sum += arg; } return sum; } } 可变参数提供了方便,但是使用可变参

  • java中数组的相关知识小结(推荐)

    1. 2.数组的命名方法 1)int[]ages=new int[5]; 2) int[]ages; ages=new int[5]; 3)int[]ags={1,2,3,4,5}; 4)int[]ags; ags=new int{1,2,3,4}; 或者 int[]ags=new int{1,2,3,4}; 3.java不支持不同类型的重名数组 4.java中数组的循环赋值 package dierge; public class Shuzu { public static void main

  • JS自定义对象实现Java中Map对象功能的方法

    本文实例讲述了JS自定义对象实现Java中Map对象功能的方法.分享给大家供大家参考.具体分析如下: Java中有集合,Map等对象存储工具类,这些对象使用简易,但是在JavaScript中,你只能使用Array对象. 这里我创建一个自定义对象,这个对象内包含一个数组来存储数据,数据对象是一个Key,可以实际存储的内容!   这里Key,你要使用String类型,和Java一样,你可以进行一些增加,删除,修改,获得的操作. 使用很简单,我先把工具类给大家看下: 复制代码 代码如下: /**  *

  • java中关于文本文件的读写方法实例总结

    本文实例总结了java中关于文本文件的读写方法.分享给大家供大家参考,具体如下: 写文本数据 方法 一: import java.io.*; public class A { public static void main(String args[]) { FileOutputStream out; PrintStream ps; try { out = new FileOutputStream("a.txt"); ps = new PrintStream(out); ps.print

  • JAVA中的deflate压缩实现方法

    在文件的传输过程中,为了使大文件能够更加方便快速的传输,一般采用压缩的办法来对文件压缩后再传输,JAVA中的java.util.zip包中的Deflater和Inflater类为使用者提供了DEFLATE算法的压缩功能,以下是自已编写的压缩和解压缩实现,并以压缩文件内容为例说明,其中涉及的具体方法可查看JDK的API了解说明. /** * * @param inputByte * 待解压缩的字节数组 * @return 解压缩后的字节数组 * @throws IOException */ pub

随机推荐