1.创建一维数组
最简单快捷的方法是:声明的同时为数组分配内存。如:
int month[]=new int[12]
也可以先声明再分配内存。如:
int month[]; //或int[] month;
month=new int[12];
在初始化一维数组时,可采用两种方法。如:
int arr[]=new int[]{1,2,3,4,5};
或者:int arr[]={1,2,3,4,5};
2.创建二维数组
创建二维数组的方法和一维数组一样有两种方法。如:
//先声明再分配
int arr[][];
arr=new int[2][4];
//直接分配
int arr[][]=new int[2][4];
注:分配内存时可以分配为每一维分配,常用于非规则数组。如:
int a[][];
a=new int[2][];
a[0]=new int[4];
a[1]=new int[5];
关于二维数组的操作,要学会使用foreach语句遍历二维数组。
int arr[][]={{2,3},{3,7},{6,5}};
for(int x[]:arr){
for(int e:x){
system.out.print(e+' ');
}
}
3.数组操作
3.1 填充元素
导入java.util.Arrays后,使用fill()方法。如:
Arrays.fill(arr,8);
Arrays.fill(arr,1,2,8); //在第一个到第二个(不包括)元素间填充8
3.2 排序
导入java.util.Arrays后,使用Arrays.sort()方法。如:
int arr[]={2,5,1,7,6};
Arrays.sort(arr);
3.3 复制数组
使用Arrays类的两个方法:
copyOf():复制数组到指定长度数组。如:
int arr[]={21,45,46};
int newarr[]=Arrays.copyOf(arr,5); //newarr数组为:21,45,46,0,0
copyOfRange():复制指定长度数组元素到新数组。如:
int arr[]={1,4,5,7,8,9};
int newarr[]=Arrays.copyOfRange(arr,0,3);
3.4 数组查询
Arrays类的binarySearch()方法提供了多种重载,可使用二分查找方式搜索。如:
binarySearch(Object[],key)、binarySearch(Object[],int fromIndex,int toIndex,int key).
3.5 数组排序算法
掌握冒泡排序、直接选择排序等基本排序算法的Java程序书写。下面以冒泡排序为例,自己用Java写一下该算法:
public class BubbleSort{
public void main(String[] args){
int arr[]={2,4,8,5,6,10,1};
//创建BubbleSort的实例,调用方法sort排序
BubbleSort sorter=new BubbleSort();
sorter.sort(arr);
public void sort(int array[]){
for(int i=0;i<array.length();i++){
for(int j=array.length()-2;j>i;j--){
if(array[j+1]<array[j]){
int temp=array[j+1];
array[j+1]=array[j];
array[j]=temp;
}
}
}
}
学习笔记——Java数组的更多相关文章
-
[java学习笔记]java语言核心----面向对象之this关键字
一.this关键字 体现:当成员变量和函数的局部变量重名时,可以使用this关键字来区别:在构造函数中调用其它构造函数 原理: 代表的是当前对象. this就是所在函数 ...
-
[java学习笔记]java语言核心----面向对象之构造函数
1.构造函数概念 特点: 函数名与类名相同 不用定义返回值类型 没有具体的返回值 作用: 给对象进行初始化 注意: 默认构造函数 多个构造函数是以重载出现的 一个类中如果 ...
-
PHP学习笔记之数组篇
摘要:其实PHP中的数组和JavaScript中的数组很相似,就是一系列键值对的集合.... 转载请注明来源:PHP学习笔记之数组篇 一.如何定义数组:在PHP中创建数组主要有两种方式,下面就让我 ...
-
JavaScript学习笔记之数组(二)
JavaScript学习笔记之数组(二) 1.['1','2','3'].map(parseInt) 输出什么,为什么? ['1','2','3'].map(parseInt)//[1,NaN,NaN ...
-
java学习笔记六——数组
数组类型 数组是一种常见的数据结构,可用于存放多个数据,每一个数组元素存放一个数据,通常可以通过下标进行访问其元素. Java数组要求所有数组元素具有相同的数据类型.因此,数组元素的数据类型是唯一的. ...
-
Scala入门学习笔记三--数组使用
前言 本篇主要讲Scala的Array.BufferArray.List,更多教程请参考:Scala教程 本篇知识点概括 若长度固定则使用Array,若长度可能有 变化则使用ArrayBuffer 提 ...
-
大数据学习笔记——Java篇之网络编程基础
Java网络编程学习笔记 1. 网络编程基础知识 1.1 网络分层图 网络分层分为两种模型:OSI模型以及TCP/IP网络模型,前者模型分为7层,是一个理论的,参考的模型:后者为实际应用的模型,具体对 ...
-
大数据学习笔记——Java篇之IO
IO学习笔记整理 1. File类 1.1 File对象的三种创建方式: File对象是一个抽象的概念,只有被创建出来之后,文件或文件夹才会真正存在 注意:File对象想要创建成功,它的目录必须存在! ...
-
大数据学习笔记——Java篇之集合框架(ArrayList)
Java集合框架学习笔记 1. Java集合框架中各接口或子类的继承以及实现关系图: 2. 数组和集合类的区别整理: 数组: 1. 长度是固定的 2. 既可以存放基本数据类型又可以存放引用数据类型 3 ...
随机推荐
-
jQuery插件中文乱码解决办法
修改jQuery插件源代码的时候,中文字符有时候会显示乱码,通常这个插件是老外写的,默认文件的编码格式ANSI格式,源代码写中文字符的时候就会显示乱码,解决方法就是将文件编码格式换成UTF-8格式 保 ...
-
教你一招:Win10切换输入法与Win7一样(Ctrl + 空格)
对于win10的朋友,大部分人对输入法都不习惯,如果你把英语输入法删除了,在中文输入法里没有美式键盘,让ctrl+空格与ctrl+Shift都能在搜狗输入法和美式键盘切换.下面小编就教你怎么让Win1 ...
-
windows 10 设置
精简应用 邮件和日历: Get-AppxPackage *communi* | Remove-AppxPackage 新闻: Get-AppxPackage *bing* | Remove-AppxP ...
-
nginx、fastCGI、php-fpm关系梳理(转载 http://blog.sina.com.cn/s/blog_6df9fbe30102v57y.html)
前言: Linux下搭建nginx+php+memached(LPMN)的时候,nginx.conf中配需要配置fastCGI,php需要安装 php-fpm扩展并启动php-fpm守护进程, ...
-
tar + find
将tar 和find 结合,选定目录下指定的文件类型进行打包解压: tar命令用语对文件进行归档以及恢复归档文件,"tar xzvf"命令用于释放<恢复>". ...
-
XQuery FLWOR 表达式
FLWOR 是 "For, Let, Where, Order by, Return" 的只取首字母缩写.for 语句把 bookstore 元素下的所有 book 元素提取到名为 ...
-
原创科幻短篇《Bug》
这回不是纯科幻,夹了点玄幻. 以下正文: 大一的时候,李双休谈了个女朋友,俩人学校相距不远,周末约一起看电影.那是李双休第一次自己坐公交,坐反了,绕城一周,电影开始后一个小时才到,就赶上看了个片尾彩蛋 ...
-
A - Wall
Once upon a time there was a greedy King who ordered his chief Architect to build a wall around the ...
-
Android-多线程安全问题-synchronized
先看一个售票案例Demo,多线程程序对共享数据操作引发的安全问题: package android.java.thread09; /** * 售票线程 */ class Booking impleme ...
-
Oracle spatial 空间修正函数(SDO_UTIL.RECTIFY_GEOMETRY)
Oracle spatial有个空间修正函数SDO_UTIL.RECTIFY_GEOMETRY,它可以修复以下可能:a.重复节点 b.自相交 c.坐标串朝向不正确. 该函数的构造函数格式: SDO_U ...