排列:它可以被看作是多个相同类型的数据的组合,这些数据的统一管理。

1.声明、 创建

一维:type[]  var  比如:int[] a或 int a[];

数组名= new  数组元素的类型[数组元素的个数]

public class TestNew
{
public static void main(String args[]) {
int[] s ; //声明 或者int s[] 可是不可int s[5]
s = new int[5] ; //创建 new
for(i = 0 ; i < 5 ; i++) {
s[i] = i ;
}
}
}

2初始化

静态初始化:在定义数组的同一时候就为数组元素分配空间并赋值。

动态初始化:数组定义和数组元素分配空间和赋值分开操作。

默认初始化:数组是引用类型,元素相当于成员变量。因此数组在分配空间后,系统默认给每一个元素进行了隐式初始化。

public class Test
{
public static void main(String args[]) {
//动态初始化
int a[] ;
a = new int[22] ;
a[0] = 0 ;
a[1] = 1 ;
Date days[] ;
days = new Date[2] ;
days[0] = new Date(2015,6,1) ;
days[1] = new Date(2012,5,5) ; //静态初始化
int a[] = {0,1} ;
Date days[]= {new Date(2015,6,1),new Date(2012,5,5} //默认初始化
int a[] = new int [2] ;
Date days[] = new Date[2]
//输出结果。基本类型默觉得0应用类型默觉得null
System.out.println(a[1]+" "+Date[1]) ;
}
} class Date
{
int year,month,day ;
Date(int year ,int month ,int day) {
this.year = year ;
this.month = month ;
this.day = day ;
}
}

3.数组拷贝

java的lang包中封装了arraycopy方法能够实现数组的拷贝

public static void arraycopy(Object s,int sbeginPos,Object scopy,int scopybeginPos,int slength )           

s:源数组 
、 sbeginPos:源数组開始位置 

        scopy:目标数组  、 scopybeginPos:目标数组開始放置位置 


        slength:要拷贝源数组的长度

样例例如以下:

public class Array{

	//拷贝数组,
public static void main(String[] args){
//1.元素为基本类型的,目标数组和源数组的元素独立,不相互影响
String[] s ={"IBM","Oracle","Apple"};
String[] sBak = new String[6]; //1.1从源数组s s[1]開始拷贝元素到目标数组sBak中从sBak[2]開始存放的拷贝进来的元素,拷贝的个数为s.length-1个
System.arraycopy(s,1,sBak,2,s.length-1); for(int i=0;i<sBak.length;i++){
System.out.print(sBak[i]+" ");
}
//1.2改动目标数组一个元素值
sBak[2]="tihuan";
//1.2.1目标数组值改变
System.out.print("\n");
for(int i=0;i<sBak.length;i++){
System.out.print(sBak[i]+" ");
}
//1.2.2源数组值不变
System.out.print("\n");
for(int i=0;i<s.length;i++){
System.out.print(s[i]+" ");
} //2.元素为引用类型的,拷贝的是数组的引用,对随意数组元素的改动都会影响其它数组。
System.out.println();
int[][] intArray ={{1,2},{1,2,3},{3,4}};
int[][] intArrayBak = new int[3][]; System.arraycopy(intArray,0,intArrayBak,0,intArray.length);
//2.1改动目标数组的一个元素值
intArrayBak[2][1] = 100;
//2.2打印源数组看值是否发生变化
for(int i=0;i<intArray.length;i++){
for(int j=0;j<intArray[i].length;j++){
System.out.print(intArray[i][j]+" ");
} System.out.println();
}
}
}

结果显示为:

数组属引用类型,同一时候数组能够看成对象,数组中的每一个元素相当于该对对象的变量成员。

作用声明数组的时候在栈内存中分配数组名的存储空间。创建的时候分配的存储空间阵列堆栈内容。

版权声明:在这篇文章中的不可避免的缺点,敬请各位批评,留下评论。

java排列的更多相关文章

  1. Spark案例分析

    一.需求:计算网页访问量前三名 import org.apache.spark.rdd.RDD import org.apache.spark.{SparkConf, SparkContext} /* ...

  2. 用1、2、2、3、4、5这六个数字,用java写一个main函数,打印出所有不同的排列,如:512234、412345等,要求:"4"不能在第三位,"3"与"5"不能相连。

    最近在看算法,看到这个题,觉得挺经典的,收起. 分析: 1 .把问题归结为图结构的遍历问题.实际上6个数字就是六个结点,把六个结点连接成无向连通图,对于每一个结点求这个图形的遍历路径,所有结点的遍历路 ...

  3. 字符串数组元素排列与组合的Java递归实现

      我们在笔试面试过程中经常会遇到关于排列与组合的问题,其实这些可以通过递归简单的实现,看下面两个例子: (1)关于字符串排列的问题 输入一个字符串,打印出该字符串中字符的所有排列.例如输入字符串ab ...

  4. Java字符串排列算法

    Java字符串排列算法 题目:现有ABCDE 5个球 构成的排列组合 可重复抽取 最多取到16个 共有多少种组合方式? 比如:取1个球可以构成的组合有 A B C D E 共5种,取2个球可以构成的组 ...

  5. 排列的Java递归语言实现

    在做算法题的时候,发现排列经常被使用到,是一个重要的知识点, 下面是博主修改过的代码,初学者,如有不足,欢迎指出 import java.util.ArrayList; import java.uti ...

  6. java 集合中将元素倒序排列

    方法一:实现Comparable接口排序package collsort.comparable; package com.cvicse.sort.comparable; public class Ca ...

  7. 【剑指offer28:字符串的排列】【java】

    题目:输入一个字符串,按字典序打印出该字符串中字符的所有排列.例如输入字符串abc,则打印出由字符a,b,c所能排列出来的所有字符串abc,acb,bac,bca,cab和cba. import ja ...

  8. Java利用递归算法统计1-6的数组排列组合数

    Java利用递归算法统计1-6的数组排列组合数 1.设计源码 /** * @Title:ArrayCombination.java * @Package:com.you.data * @Descrip ...

  9. Java 使用Arrays.sort排序 从大到小排列

    前言 一般情况,我们在Java中给数组排序,比起自己写个冒泡排序,更加喜欢使用Java中自带的sort方法,也就是Arrays.sort方法 但是,这个方法只会将数组从小到大排列,如果我们需要从大到小 ...

随机推荐

  1. mac下显示隐藏文件

    一.在终端中 ls -a就可以查看隐藏文件. 显示和隐藏的命令例如以下: 显示:defaults write com.apple.finder AppleShowAllFiles -bool true ...

  2. 关于vi不正常退出产生的swp文件

    关于vi不正常退出产生的swp文件   非正常关闭vi编辑器时会生成一个.swp文件 关于swp文件 使用vi,经常可以看到swp这个文件,那这个文件是怎么产生的呢,当你打开一个文件,vi就会生成这么 ...

  3. DBSNMP和SYSMAN用户初始密码及正确的修改方式

    SYSMAN和DBSNMP跟涉及到Oracle的EM,所以跟其他的用户修改密码方式有所区别. 下面是这两个用户的默认密码和作用说明 DBSNMP DBSNMP The account used by ...

  4. css-下拉菜单案例

    <!DOCTYPE html>CSS4-布局2-display下拉菜单案例 <style>.xiala{width:200px;background:#ddd;}.xiala ...

  5. mvc分页生成静态页,mvc生成静态页

    http://blog.csdn.net/xxj_jing/article/details/7899125 分页生成静态页 http://www.cnblogs.com/luanyilin/archi ...

  6. Ajax与ashx异步请求的简单案例

    Ajax与ashx异步请求的简单案例: 前台页面(aspx): <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//E ...

  7. c#程序为PDF文件填写表单内容

    众所周知,PDF文件一般情况下是无法修改的,如果你有一张现成的PDF表格,这时想通过编程实现从数据库或者动态生成内容去填写这张表格,就会有些问题了,首先我们要解决以下2个重要的问题: 1.如何将内容写 ...

  8. C++服务器设计(五):多设备类型及消息事件管理

    在传统的服务器系统中,服务器仅针对接收到的客户端消息进行解析,并处理后回复响应.在该过程中服务器并不会主动判断客户端类型.但在现实中,往往存在多种类型的客户端设备,比如物联网下的智能家居系统,就存在智 ...

  9. UVA 221 - Urban Elevations(离散化)!!!!!!

    题意:给出一张俯视图.给出N个建筑物的左下标,长度,宽度,高度.现在求,从南面看,能看到那些建筑? Sample Input 14 160 0 30 60 30 125 0 32 28 60 95 0 ...

  10. (原+译)win7远程连接ubuntu16.04

    转载请注明出处: http://www.cnblogs.com/darkknightzh/p/5711214.html 原始网址: http://ubuntuhandbook.org/index.ph ...