Java基础数组
来源:互联网 发布:淘宝店铺客服中心图片 编辑:程序博客网 时间:2024/06/16 22:21
一.数组的简介
java中的数组、是一种简单的线性数据存储结构、他用牺牲自动扩展大小来换取与集合相比的唯一优势——查询效率的提升。他本身是一种引用类型的数据、所以我们要使用数组就要首先声明、初始化他、而他的初始化的完成也就意味着此数组的大小将不再改变、而且具有初始值。当存储的是java原始基础类型时、默认值是不同基础类型值的默认值、当是引用类型时、如果我们没有指定具体的对象、则他的默认值是null。从数组的内部组成来看、觉得java中没有多维数组!所谓的多维数组其实就是一维数组的延伸、只是数组的值存放的是另一个数组的引用、依次深入、我们可以扩展到任意维度的数组、注意:数组的扩展的过程中只能存放相同类型或者子类型的数组!
Java中的数组长度不变!存储的数据类型唯一!有时候我们会有种错觉觉得这两者都是不成立的、本质是因为java中继承的存在、我们定义的父类型的数组、他的数组元素也同样可以存放子类对象、这样就造成了数组存放对象可变的假象。当我们将数组的引用从一个对象改变到子类的对象的时候、感觉数组的长度变化、其实变的是引用指向的对象的长度、原来引用指向的对象长度没有变化、只是此对象被遗弃了而已、对此只要记住一点:java中的数组时引用类型、当声明初始化一个对象时、数组的引用存放在栈内、实际对象存放在堆内存中、而我们平常所指的长度、类型都是具体对象的长度、类型!
此外、Arrays是一个操作java数组的类、提供了一些非常实用的用于操作数组的类、还有就是java数组与集合比较相似。
二. 数组的声明,初始化及常用方法
1.声明数组
String[] array1 = new String[6];
String[] array2 = {"a","b","c", "d", "e","f"};
String[] array3 = new String[]{"a","b","c","d","e","f"};
2.数组输出
int[] intArray = { 1, 2, 3, 4, 5};
String intArrayToString = Arrays.toString(intArray);
// print directly will print reference value
System.out.println(intArray);
// [I@7150bd4d
System.out.println(intArrayToString);
// [1, 2, 3, 4, 5]
3.用一个数组创建数组列表
String[] stringArray = { "a", "b", "c", "d", "e" ,"f"};
ArrayList<String> arrayList = new ArrayList<String>(Arrays.asList(stringArray));
System.out.println(arrayList);
// [a, b, c, d, e, f]
4.查看一个数组是否包含某个值
String[] stringArray = { "a", "b", "c", "d", "e", "f"};
boolean b = Arrays.asList(stringArray).contains("f");
System.out.println(b);
// true
boolean bo = Arrays.asList(stringArray).contains("g");
System.out.println(b);
// false
5.数组拼接
int[] intArray1 = { 1, 2, 3, 4, 5 };
int[] intArray2 = { 6, 7, 8, 9, 10 };
// Apache Commons Lang library
int[] intArray3 = ArrayUtils.addAll(intArray, intArray2);
String intArray3ToString = Arrays.toString(intArray3);
System.out.println(intArray3ToString);
// [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
6.声明内联数组(Array inline)
method(new String[]{"a", "b", "c", "d", "e"});
7.数组元素放入字符串
String j = StringUtils.join(new String[] { "a", "b", "c" }, ", ");
System.out.println(j);
// a, b, c
8.将数组列表转换为数组
String[] stringArray = { "a", "b", "c", "d", "e" };
ArrayList<String> arrayList = new ArrayList<String>(Arrays.asList(stringArray));
String[] stringArr = new String[arrayList.size()];
arrayList.toArray(stringArr);
for (String s : stringArr) {
System.out.println(s);
}
9.数组转换为集合(set)
String[] stringArray = { "a", "b", "c", "d", "e" };
Set<String> set = new HashSet<String>(Arrays.asList(stringArray));
System.out.println(set);
//[d, e, b, c, a]
10.逆向一个数组
int[] intArray = { 1, 2, 3, 4, 5 };
ArrayUtils.reverse(intArray);
System.out.println(Arrays.toString(intArray));
//[5, 4, 3, 2, 1]
11.删除数组元素
int[] intArray = { 1, 2, 3, 4, 5 };
int[] removed = ArrayUtils.removeElement(intArray, 3);//create a new array
System.out.println(Arrays.toString(removed));
12.整数转换为字节数组
byte[] bytes = ByteBuffer.allocate(4).putInt(8).array();
for (byte t : bytes) {
System.out.format("0x%x ", t);
}
- 【Java基础】Java数组
- java基础 ---数组
- java中数组基础
- java基础----数组
- Java基础:数组
- Java基础之数组
- Java基础之数组
- Java基础_数组
- JAVA基础:一元数组
- Java基础之数组
- Java基础<四>---> 数组
- Java基础_数组
- java数组基础
- Java基础_数组
- java基础__数组
- 【java基础】[数组]
- Java基础-数组
- Java基础:数组
- JavaEE之Maven中的pom.xml文件jar包dependency配置方法
- FILETIME 互转 DateTime 待验证
- Java 8 reduce()方法快速使用入门
- Java利用MessageDigest获取字符串或文件MD5详解
- 判断json指定的值是否为空
- Java基础数组
- ElasticSearch Java api 详解_V1.0
- oracle中的exists和not exists的用法总结
- 打印机端口检测(minotr port)安装
- ffmpeg处理RTMP流媒体的命令大全
- 人工智能(AI)资料大全
- echarts2.2.7本地搭建
- 配置一个Spring Boot应用的过程详解
- android PowerManager分析(非常详细)