java Arrays快速打印数组的数据元素列表案例

1、Arrays.toString

用来快速打印一维数组的数据元素列表

2、Arrays.deepToString 快速打印一个二维数组的数据元素列表

public static strictfp void main(String[] args) {

 String[][] arr = {{"aaa","bbb"},{"ccc"}};
 for(int x=0;x<arr.length;x++){
  for(int y=0;y<arr[x].length;y++){
  System.out.println(arr[x][y]);
  }
 }

 //Arrays.deepToString 快速打印一个二维数组的数据元素列表
 System.out.println(Arrays.deepToString(arr));
 }

补充知识:Java使用快速排序法对数组从小到大排序

给定值的快速排序`

import java.util.*;
public class Program_kuaipai
{

 public static void main(String[] args)
 {
 String str = "12 34 1 -5 9 100 55 0";
 String[] numStrs = str.split(" ");
 int[] numArray = new int[numStrs.length];
 for(int i=0;i<numStrs.length;i++)
 {
  numArray[i] = Integer.valueOf(numStrs[i]);
 }
 quickSort(numArray);//快速排序
 /*for(int i=0;i<numStrs.length;i++)
 {
  System.out.println(numArray[i]);
 }*///用for循环输出整形数组
 System.out.println(Arrays.toString(numArray));//用Arrays.toString()输出
 }
 public static void quickSort(int[] numArray)
 {
 if(numArray.length>0)
 {
  quickSort(numArray,0,numArray.length-1);
 }
 }
 private static void quickSort(int[] numArray,int left,int right)
 {
 if(left>right)
 {
  return;
 }
 int i=left;
 int j=right;
 int sentry=numArray[left];//找一个“哨兵”
 //int sentry=numArray[(i+j)/2];
 while(i<j)
 {
  while(i<j&&numArray[j]>sentry)//从右向左找一个比“哨兵”小的值
  {
  j--;
  }
  while(i<j&&numArray[i]<=sentry)//从左向右找一个比“哨兵”大的值
  {
  i++;
  }
  if(i<j)//将两个值交换位置
  {
  int mid=numArray[i];
  numArray[i]=numArray[j];
  numArray[j]=mid;
  }
 }
 int mid=numArray[i];
 numArray[i]=numArray[left];
 numArray[left]=mid;//改变“哨兵”的位置
 quickSort(numArray, left, i-1 );//递归,将左部分再次进行快排
 quickSort(numArray, i+1, right );//递归,将右部分再次进行快排
 }
}

可输入值的快速排序:

import java.util.*;
public class Program_kuaipai
{

 public static void main(String[] args)
 {
 Scanner scan = new Scanner(System.in);
 String str = scan.nextLine();//输入需要排序的数字
 String[] numStrs = str.split(" ");
 int[] numArray = new int[numStrs.length];
 for(int i=0;i<numStrs.length;i++)
 {
  numArray[i] = Integer.valueOf(numStrs[i]);
 }
 quickSort(numArray);//快速排序
 /*for(int i=0;i<numStrs.length;i++)
 {
  System.out.println(numArray[i]);
 }*///用for循环输出整形数组
 //Arrays.sort(numArray);//用Arrays.sort()的排序
 System.out.println(Arrays.toString(numArray));//用Arrays.toString()输出
 }
 public static void quickSort(int[] numArray)
 {
 if(numArray.length>0)
 {
  quickSort(numArray,0,numArray.length-1);
 }
 }
 private static void quickSort(int[] numArray,int left,int right)
 {
 if(left>right)
 {
  return;
 }
 int i=left;
 int j=right;
 int sentry=numArray[left];//找一个“哨兵”
 while(i<j)
 {
  while(i<j&&numArray[j]>sentry)//从右向左找一个比“哨兵”小的值
  {
  j--;
  }
  while(i<j&&numArray[i]<=sentry)//从左向右找一个比“哨兵”大的值
  {
  i++;
  }
  if(i<j)//将两个值交换位置
  {
  int mid=numArray[i];
  numArray[i]=numArray[j];
  numArray[j]=mid;
  }
 }
 int mid=numArray[i];
 numArray[i]=numArray[left];
 numArray[left]=mid;//改变“哨兵”的位置
 quickSort(numArray, left, i-1 );//递归,将左部分再次进行快排
 quickSort(numArray, i+1, right );//递归,将右部分再次进行快排
 }
}

以上这篇java Arrays快速打印数组的数据元素列表案例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持我们。

(0)

相关推荐

  • java高效打印一个二维数组的实例(不用递归,不用两个for循环)

    打印1个元素,不让循环变量i++,走出思维定式(执行一次循环体,就i++).public class OneForPrint2DArr { public static void main(String[] args) throws Exception { int[][] a = { { 1, 2, 3 }, { 4, 5} }; for (int i = 0, j = 0; i < a.length;) { System.out.println(a[i][j]); j++; if (j >=

  • java不用循环语句打印数组元素的实例

    实例如下: import java.util.Arrays; public class Test { public static void main(String[] args) { int[] array = {0,1,4,7,2,5,8,3,6,9}; System.out.println(Arrays.toString(array)); } } 以上这篇java不用循环语句打印数组元素的实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持我们.

  • java Arrays快速打印数组的数据元素列表案例

    1.Arrays.toString 用来快速打印一维数组的数据元素列表 2.Arrays.deepToString 快速打印一个二维数组的数据元素列表 public static strictfp void main(String[] args) { String[][] arr = {{"aaa","bbb"},{"ccc"}}; for(int x=0;x<arr.length;x++){ for(int y=0;y<arr[x]

  • Java编程实现统计数组中各元素出现次数的方法

    本文实例讲述了Java编程实现统计数组中各元素出现次数的方法.分享给大家供大家参考,具体如下: package javatest; import java.util.HashMap; import java.util.Iterator; import java.util.Map; import java.util.Map.Entry; import java.util.Set; public class NumOfEle { public static void main(String[] ar

  • Java实现删除排序数组中重复元素的方法小结【三种方法比较】

    本文实例讲述了Java实现删除排序数组中重复元素的方法.分享给大家供大家参考,具体如下: 题目描述: 给定一个排序数组,在原数组中删除重复出现的数字,使得每个元素只出现一次,并且返回新的数组的长度. 不要使用额外的数组空间,必须在原地没有额外空间的条件下完成. 一:通过ArrayList解决 时间复杂度和空间复杂度都为O(n) ArrayList<Integer> list = new ArrayList<Integer>(); // 去掉数组中重复的元素 public int r

  • java使用分隔符连接数组中每个元素的实例

    如下所示: double[] features3 = {1,2,3};//如果是基本类型需先转为对象 <span style="font-family:Arial;font-size:14px;">commons-lang3包可用</span> Double[] features4 = ArrayUtils.toObject(features3); public String listToString(List list, char separator) { r

  • java学习之一维数组中重复元素的去除

    目录 一.基本思路 二.步骤 1.设置判断数组Arr[ ] 2.继承数组newArr[ ]获取不重复元素 总结 一.基本思路 首先,假设一个一维数组arr[ ]={ 4, 3, 35, 3, 2, 4, 6, 3},其中有三个重复元素 3,4,3.要如何剔除呢,由于还没有涉猎到一些经典的调用,所以我选择了用新的数组newArr[ ]去继承原来数组中的不重复的元素,另外还需要一个判断数组Arr[ ],来判断arr[ ]中哪几个元素是重复的,才好去除掉. 二.步骤 1.设置判断数组Arr[ ] 代码

  • Java由浅入深细数数组的操作

    目录 1.JVM的内存分布 2.引用类型变量的特点 3.一维数组的使用 3.1定义和初始化 3.2数组的访问 3.3打印数组所有的元素 3.4数组的拷贝 3.5作为参数和返回值 本篇介绍一维数组以及相关操作,二维数组放在下一篇 1.JVM的内存分布 Java的代码是运行在JVM上的,为了方便管理,对所使用的内存按照功能的不同进行了划分,这不是本篇重点,只做简单的介绍: Java虚拟栈:局部变量在这里开辟空间 Java本地方法栈:运行一些由C/C++编写的程序 堆:对象在这里存储,且开辟后的空间使

  • Python打印输出数组中全部元素

    学习Python的人都知道数组是最常用的的数据类型,为了保证程序的正确性,需要调试程序. 因此,需要在程序中控制台中打印数组的全部元素,如果数组的容量较小,例如 只含有10个元素,采用print命令或print函数可以答应出数组中的每个元素: 如果数组的容量过大,只能打印出数组的部分元素,打印结果只包含开始部分元素和结尾部分元素,中间元素省略.省略的部分不利于程序的调试: 因此,为了方便调试程序,需要将数组中的元素全部打印出来. 1. 少量元素情况 #打印数组中的元素 import numpy

  • java中删除数组中重复元素方法探讨

    问题:比如我有一个数组(元素个数为0哈),希望添加进去元素不能重复. 拿到这样一个问题,我可能会快速的写下代码,这里数组用ArrayList. 复制代码 代码如下: private static void testListSet(){        List<String> arrays = new ArrayList<String>(){            @Override            public boolean add(String e) {         

  • java实现向有序数组中插入一个元素实例

    整理文档,搜刮出一个java实现向有序数组中插入一个元素,稍微整理精简一下做下分享 package cn.jbit.array; import java.util.*; public class Insert { public static void main(String[] args) { //字符排序 char[] chars = new char[9]; chars[0] = 'a'; chars[1] = 'c'; chars[2] = 'u'; chars[3] = 'b'; cha

随机推荐