「java数组经典」JAVA中的数组

博主:adminadmin 2022-12-30 11:03:07 954

今天给各位分享java数组经典的知识,其中也会对JAVA中的数组进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!

本文目录一览:

JAVA数组

这东西简单,也就是将两个List集合合并成一个set集合就Ok了。

List集合是有序的,可重复的集合

Set集合是无序的。不可重复的集合。

弄清楚List和Set的关系,应该就能做出来了....

java字符数组方面常用的函数

length是属性,不是函数。

java数组的相关函数,可以考虑转变成List或者Set,

这种集合类有好多操作方法提供给你使用,

使用方法类似于xiaojianhx的方法,或者有Collections.xxx(静态方法)

非常方便。

用Arrays.asList方法可以将数组转变成为List

Java的数组的几种经典算法

JAVA中在运用数组进行排序功能时,一般有四种方法:快速排序法、冒泡法、选择排序法、插入排序法。

快速排序法主要是运用了Arrays中的一个方法Arrays.sort()实现。

冒泡法是运用遍历数组进行比较,通过不断的比较将最小值或者最大值一个一个的遍历出来。

选择排序法是将数组的第一个数据作为最大或者最小的值,然后通过比较循环,输出有序的数组。

插入排序是选择一个数组中的数据,通过不断的插入比较最后进行排序。下面我就将他们的实现方法一一详解供大家参考。

1利用Arrays带有的排序方法快速排序

public class Test2{ public static void main(String[] args){ int[] a={5,4,2,4,9,1}; Arrays.sort(a); //进行排序 for(int i: a){ System.out.print(i); } } }

2冒泡排序算法

public static int[] bubbleSort(int[] args){//冒泡排序算法 for(int i=0;iargs.length-1;i++){ for(int j=i+1;jargs.length;j++){ if (args[i]args[j]){ int temp=args[i]; args[i]=args[j]; args[j]=temp; } } } return args; }

3选择排序算法

public static int[] selectSort(int[] args){//选择排序算法 for (int i=0;iargs.length-1 ;i++ ){ int min=i; for (int j=i+1;jargs.length ;j++ ){ if (args[min]args[j]){ min=j; } } if (min!=i){ int temp=args[i]; args[i]=args[min]; args[min]=temp; } } return args; }

4插入排序算法

public static int[] insertSort(int[] args){//插入排序算法 for(int i=1;iargs.length;i++){ for(int j=i;j0;j--){ if (args[j]args[j-1]){ int temp=args[j-1]; args[j-1]=args[j]; args[j]=temp; }else break; } } return args; }

求java数组经典例题。。。。。。。

经典的?那莫过于对数组的排序了。

import java.util.*;

import java.io.*; public class SortAlgorithm { static Random rand = new Random(); static void bubbleSort(int[] numlist) { // 冒泡排序算法 int temp; for(int i=1;inumlist.length;i++) { for(int j=0; jnumlist.length-i;j++) { if(numlist[j]numlist[j+1]) { temp=numlist[j+1]; numlist[j+1]=numlist[j]; numlist[j]=temp; } } } } static void selectionSort (int[] numlist) //选择排序算法 { int temp; for(int i=0;inumlist.length-1;i++) for(int j=i+1;jnumlist.length;j++) if(numlist[i]numlist[j]) { temp = numlist[j]; numlist[j] = numlist[i]; numlist[i] = temp; } } static void insertSort (int[] numlist) //插入排序算法 { int temp,in,out; for(out=1;outnumlist.length;out++) { temp=numlist[out]; in=out; while(in0 numlist[in-1]=temp) { numlist[in]=numlist[in-1]; --in; } numlist[in]=temp; } } static void display (int[] num) // 打印出排序结果 { for(int i = 0;inum.length;i++) System.out.print(num[i]+" "); System.out.println(""); } static int pRand(int mod) // 生成随即数组 { return Math.abs(rand.nextInt())%mod; } public static void main(String args[])throws IOException { int[] numList = new int[10]; for(int i = 0;inumList.length;i++) numList[i] = pRand(100); //调用pRand方法,把随即生成的数据输入到 // 数组中 System.out.println("随即生成的数组是:"); // 打印出原数组, for(int j =0;jnumList.length;j++) System.out.print(numList[j]+" "); System.out.println(""); double begin = System.currentTimeMillis(); //排序开始时间,调用系统的当前时间 bubbleSort(numList); //执行冒泡排序 double end = System.currentTimeMillis(); //排序结束时间,调用系统当前时间 System.out.println("冒泡排序用时为:" + (end-begin)); //排序用时 System.out.println("排序后的数组为:"); display(numList); begin = System.currentTimeMillis(); selectionSort(numList); end = System.currentTimeMillis(); System.out.println("选择排序用时为:" +(end-begin)); System.out.println("排序后的数组为:"); display(numList); begin = System.currentTimeMillis(); insertSort(numList); end = System.currentTimeMillis(); System.out.println("插入排序用时为:" + (end-begin)); System.out.println("排序后的数组为:"); display(numList); } }

java数组问题

我的建议,用HashMap存储,数组的数值做键,出现次数做值。遍历数组,该数出现一次,就给对应的键的值加一。最后遍历这个HashMap,可以得到每个数出现过多少次。

不考虑通用性,可以把这里的HashMap换成数组,根据原数组中的最大数定义数组大小。

这里给出使用HashMap的代码,至于使用数组的方式,楼主自己思考一下。

        HashMapInteger,Integer map = new HashMapInteger,Integer();

        int arr[]= new int[]{1,2,3,4,5,6,7,3,2,3,1,6,4,1,3};

        for(int key:arr)

        {

            Integer value = map.get(key);

            if(value == null)

            {

                map.put(key, 1);

            }

            else

            {

                map.put(key, value + 1);

            }

        }

        

        SetInteger keys = map.keySet();

        for(Integer key:keys)

        {

            System.out.println(key+"出现过"+map.get(key)+"次");

        }

JAVA 数组

数组的下标是从 0 开始的,不是从1开始的

所以你的循环里的 数组赋值要从0开始

比如 strutType[i] = (byte)meta.getColumnType(i);

这里 应该改成strutType[i-1] = (byte)meta.getColumnType(i);

其他的你自己改下吧 不难的

java数组经典的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于JAVA中的数组、java数组经典的信息别忘了在本站进行查找喔。