Java (三、数组)
Java 数组
声明数组变量
dataType[] arrayRefVar; // 首选的方法
或
dataType arrayRefVar[]; // 效果相同,但不是首选方法
创建数组
arrayRefVar = new dataType[arrayLength];
- 一、使用 dataType[arrayLength] 创建了一个数组。
- 二、把新创建的数组的引用赋值给变量 arrayRefVar。
dataType[] arrayRefVar = new dataType[arrayLength];
dataType[] arrayRefVar = {value0, value1, ..., valuen};
处理数组
public class TestArray {
public static void main(String[] args) {
double[] myList = {1.9, 2.9, 3.4, 3.5}; // 打印所有数组元素
for (int i = 0; i < myList.length; i++) {
System.out.println(myList[i] + " ");
}
// 计算所有元素的总和
double total = 0;
for (int i = 0; i < myList.length; i++) {
total += myList[i];
}
System.out.println("Total is " + total);
// 查找最大元素
double max = myList[0];
for (int i = 1; i < myList.length; i++) {
if (myList[i] > max) max = myList[i];
}
System.out.println("Max is " + max);
}
}
1.9
2.9
3.4
3.5
Total is 11.7
Max is 3.5
foreach 循环
public class Demo06 {
public static void main(String[] args) {
int a[] = {1,2,9,3,8,5};
// forEach循环 遍历数组 i为数据
for(int i : a){
System.out.println(i);
}
}
}

Arrays 类
1、对数组排序:通过 sort 方法,按升序。
import java.util.Arrays; public class Demo08 {
public static void main(String[] args) {
int arr[] = {12,34,51,6,24,48,31};
Arrays.sort(arr);
for (int i : arr) {
System.out.println(i);
}
}
}

2、比较数组:通过 equals 方法比较数组中元素值是否相等。
import java.util.Arrays; public class Demo09 {
public static void main(String[] args) {
//equals:比较两个数组的大小
int arr1[] = {1,2,3};
int arr2[] = {1,2,3};
int arr3[] = {1,2,4};
int arr4[] = {1,3,2};
// 数组的相等是数组内元素大小、顺序和类型全部相等
System.out.println(Arrays.equals(arr1, arr2));
System.out.println(Arrays.equals(arr1, arr3));
System.out.println(Arrays.equals(arr1, arr4));
System.out.println(Arrays.equals(arr2, arr3));
System.out.println(Arrays.equals(arr2, arr4));
System.out.println(Arrays.equals(arr3, arr4));
}
}

3、toString:用来把数组转换成字符串
import java.util.Arrays;
public class Demo10 {
public static void main(String[] args) {
int a[] = {1,5,3,4,8};
System.out.println(Arrays.toString(a));
}
}

4、给数组赋值:通过 fill 方法,用来给数组填充新数据,把源数据覆盖
import java.util.Arrays; public class Demo11 { public static void main(String[] args) { int a[] = {1,5,3,4,8}; int val = 20; Arrays.fill(a, val); System.out.println(Arrays.toString(a)); } }
运行图:
5、查找数组元素:通过 binarySearch 方法能对排序好的数组进行二分查找法操作。
import java.util.Arrays;
public class Demo12 {
public static void main(String[] args) {
//binarySearch:用来查找数组中指定的元素索引
//binarySearch:对升序的数组才有效,两个元素只能查找到第一个的索引
int a[] = {5,3,0,4,9,7,0,2};
Arrays.sort(a);
System.out.println(Arrays.toString(a));
System.out.println(Arrays.binarySearch(a, 0));
}
}

6、copyOf:从数组头部开始,复制指定长度的数组,参数1:要复制的源数组;参数2:要复制的数组元素的个数,如果要复制的数组元素数量大于源数组长度,多出的数组元素补0
import java.util.Arrays;
public class Demo13 {
public static void main(String[] args) {
int a[] = {20,25,24,36};
int b[] = Arrays.copyOf(a, 3);
int c[] = Arrays.copyOf(a, 4);
int d[] = Arrays.copyOf(a, 5);
System.out.println(Arrays.toString(b));
System.out.println(Arrays.toString(c));
System.out.println(Arrays.toString(d));
}
}

7、copyOfRange:复制数组中的某一段数据;参数1:要复制的源数据;参数2:开始索引(包括);参数3:结束索引(不包括)
import java.util.Arrays;
public class Demo14 {
public static void main(String[] args) {
int arr[] = {20,60,40,80,90,20};
int arr2[] = Arrays.copyOfRange(arr, 1, 4);
int arr3[] = Arrays.copyOfRange(arr, 0, arr.length-1);
System.out.println(Arrays.toString(arr2));
System.out.println(Arrays.toString(arr3));
}
}

Java (三、数组)的更多相关文章
- 三 基于Java动态数组手写队列
手写队列: package dataStucture2.stackandqueue; import com.lt.datastructure.MaxHeap.Queue; import dataStu ...
- Java基础——数组应用之StringBuilder类和StringBuffer类
接上文:Java基础——数组应用之字符串String类 一.StringBuffer类 StringBuffer类和String一样,也用来代表字符串,只是由于StringBuffer的内部实现方式和 ...
- Java RGB数组图像合成 ImageCombining (整理)
/** * Java RGB数组图像合成 ImageCombinning (整理) * * 2016-1-2 深圳 南山平山村 曾剑锋 * * 注意事项: * 1.本程序为java程序,同时感谢您花费 ...
- JAVA基础——数组详解
学习JAVA中数组的使用 一.什么是数组? 问:编写代码保存 4 名学生的考试成绩. 答:简单啊,定义 4 个变量呗 问:那"计算全年级 400 名学生的考试成绩",肿么办 答: ...
- Java的数组,集合,数据结构,算法(一)
本人的愚见,博客是自己积累对外的输出,在学习初期或自己没有多少底料的情况下,与其总结写博客不如默默去搞自己的代码,但是学到集合这一块时,数组,集合,数据结构,算法这个概念搞的我比较混淆,所以不得已写这 ...
- Java 中数组的内存分配
Java 中数组的内存分配 1.Java 程序在运行时,需要在内存中分配空间.为了提高运算效率,就对空间进行了不同区域的划分,因为每一片区域都有特定的处理数据和内存管理方式. 2.数组基本概念 数组是 ...
- 将java中数组转换为ArrayList的方法实例(包括ArrayList转数组)
方法一:使用Arrays.asList()方法 1 2 String[] asset = {"equity", "stocks", "gold&q ...
- java byte数组与16进制间的相互转换
java byte数组与16进制间的相互转换 CreationTime--2018年6月11日15点34分 Author:Marydon 1.准备工作 import java.util.Array ...
- java基础-数组的折半查找原理
java基础-数组的折半查找原理 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 如果让你写一个数组的查找功能,需求如下:在一个数组中,找一个元素,是否存在于数组中, 如果存在就返回 ...
- Java基础-数组常见排序方式
Java基础-数组常见排序方式 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 数据的排序一般都是生序排序,即元素从小到大排列.常见的有两种排序方式:选择排序和冒泡排序.选择排序的特 ...
随机推荐
- 【一天一道LeetCode】#45. Jump Game II
一天一道LeetCode系列 (一)题目 Given an array of non-negative integers, you are initially positioned at the fi ...
- Python3.4 + Django1.7.7 搭建简单的表单并提交
后面还有一个问题,是我把txt生成了,但是网页没有返回我还不知道,现在怎么直接返回txt并且展示出来txt 的内容,希望大牛不吝赐教 首先有一个问题 django1.7之前,这样用: HttpResp ...
- 数据结构基础(3) --Permutation & 插入排序
Permutation(排列组合) 排列问题: 设R = {r1, r2, ... , rn}是要进行排列的n个元素, Ri = R-{ri}; 集合X中元素的全排列记为Permutation(X), ...
- 基于web的jfreechart的使用
这个模块的主要步骤就是: 前台通过struts调用后台,通过JFreeChart产生图片格式的图表,存储在某个位置,然后前台jsp再去调用图片. 来开工. JFreeChart的简介大家请百度. 首先 ...
- how tomcat works 读书笔记(二)----------一个简单的servlet容器
app1 (建议读者在看本章之前,先看how tomcat works 读书笔记(一)----------一个简单的web服务器 http://blog.csdn.net/dlf123321/arti ...
- 2016/1/9:深度剖析安卓Framebuffer设备驱动
忙了几天,今天在公司居然没什么活干 ,所以早上就用公司的电脑写写之前在公司编写framebuffer的使用心得体会总结,这也算是一点开发经验,不过我还没写全,精华部分还是自己藏着吧.直到下午才开始有点 ...
- cdh5 hadoop redhat 本地仓库配置
cdh5 hadoop redhat 本地仓库配置 cdh5 在网站上的站点位置: http://archive-primary.cloudera.com/cdh5/redhat/6/x86_64/c ...
- ListView 与ContextMenu的关联管理
<span style="font-family: Arial, Helvetica, sans-serif;">package com.example.listvie ...
- 苹果新的编程语言 Swift 语言进阶(七)--枚举、结构、类
Swift语言中,具有类特征的类型包括三种,即枚举类型.结构类型(包括基本类型,基本类型实际都是结构类型的特例).类.其中枚举类型.结构类型是属于值类型,类属于引用类型.三种类型都可以添加属性.方法. ...
- 前端开发我为什么选择cordova
cordova与phonegap有什么关系? phoengap 官方网址:http://phonegap.com 如果能了解一个框架的兴起还是一件比较有趣的事.08年一次ios开发者大会上来自Nito ...