浅谈javascript和java中的数组
作者:网络转载 发布时间:[ 2015/5/12 13:35:05 ] 推荐标签:开发语言
这是我在谷歌浏览器查找的数组全部方法属性 截图如下
数组的重要知识点
数组是传递引用的
1 var x = [1, 9, 8];
2 var y = x;
3 x[0] = 2;
4 console.log(y[0]);//2
2. 联合数组
1 var arr=[];
2 arr['a']=1;
3 arr['b']=2;
4 console.log(a.length);//0 数组是对象类型,当然js中一切皆为对象!!!
3.类数组。
JavaScript和DOM中有很多类数组对象,它们只是类似数组,而不是数组,并不能使用数组的特有方法,如slice、push、pop等。
arguments
getElementsByName(name)
getElementsByClassName(className)
getElementsByTagName(tagName)
document.forms //所有form元素
document.images //所有img元素
document.links //所有带href属性的a元素和area元素
.......
类数组转为真正的数组方法:Array.prototype.slice.call(arguments);
4.稀疏数组。
稀疏数字是包含从0开始的不连续索引的数组。
稀疏数组的length属性值大于元素的个数. 代码如下
var a=[];
a[100]=23;
console.log(a.length);//101
5.作为数组的字符串
个人理解是:可索引的字符串。
var s="javascript";
console.log(s[1]);//a 标准的字符串方法应该是s.charAt(1)
//数组和字符串方法可以灵活的相互利用
Array.prototype.join.call(s,"+");//j+a+v+a+s+c+r+i+p+t
备注:push()、sort()、reverse()、splice()等数组方法会修改数组,但是在字符串上是无效的。因为字符串是不可变值!!!
java中的数组
前言:JAVA数组与容器类主要有三方面的区别:效率、类型和保存基本类型的能力。在JAVA中,数组是一种效率高的存储和随机访问对象引用序列的方式。数组是一个简单的线性数列,这使得元素访问非常快速。但是为此付出的代价却是数组的大小被固定,并且在其生命周期中不可改变。
数组的创建
type[] 变量名 = new type[数组中元素的个数];
type[] 变量名 = {"a","b"}
java中数组长度不可变,类型一致
个人觉得java中直接用数组的机会不是很大,大多数都是用集合(很多方法都是基于数组)
为什么需要数组
当我们定义一个变量时可以使用一个变量名表示,但是如果出现很多的变量我们分别起变量名代替表示存储比较麻烦了,为了解决这样的问题我们采用数组的形式表示存储,使用下标表示每个变量。
声明一个变量是在内存中划出一块合适的空间;声明一个数组是在内存中划出一串连续打的空间
数组方法
1、打印数组
int[] intArray = { 1, 2, 3, 4, 5 };
String intArrayString = Arrays.toString(intArray);
// print directly will print reference value
System.out.println(intArray);
// [I@7150bd4d
System.out.println(intArrayString);
// [1, 2, 3, 4, 5]
2、检查一个数组是否包含某个值
String[] stringArray = { "a", "b", "c", "d", "e" };
boolean b = Arrays.asList(stringArray).contains("a");
System.out.println(b);
// true
3、 移除数组中的元素
int[] intArray = { 1, 2, 3, 4, 5 };
int[] removed = ArrayUtils.removeElement(intArray, 3);
System.out.println(Arrays.toString(removed));
4、数组转为list
String[] stringArray = { "a", "b", "c", "d", "e" };
ArrayList<String> arrayList = new ArrayList<String>(Arrays.asList(stringArray));
System.out.println(arrayList);
// [a, b, c, d, e]
5、数组转为set
Set<String> set = new HashSet<String>(Arrays.asList(stringArray));
System.out.println(set);
//[d, e, b, c, a]
6、数组比较
Arrays提供了重载后的equals()方法,针对所有类型和Object类型都做了重载,用来比较整个数组。数组相等的条件是元素个数必须相等,并且对应位置的元素也相等。而多维数组的比较用deepEquals()方法。Array.equals()方法比较的两个数组必须是同类型的数组。
import java.util.Arrays;
public class javaArrayEquals{
public static void main(String args[]){
int[] arrayA = {1,2,3};
int[] arrayB = {1,2,3,};
int[] arrayC = new int[4]; //if int[] arrayC = new int[3],return true
arrayC[0] = 1;
arrayC[1] = 2;
arrayC[2] = 3;
System.out.println(Arrays.equals(arrayA, arrayB));
System.out.println(Arrays.equals(arrayA, arrayC));
String[][] arrayD = {{"a","b"},{"c","d"}};
String[][] arrayE = {{"a","b"},{"c","d"}};
System.out.println(Arrays.deepEquals(arrayD, arrayE));
}
}
7、集合更加强大。在开发中我们尽量用集合,而不是直接用数组解决问题
本文内容不用于商业目的,如涉及知识产权问题,请权利人联系SPASVO小编(021-61079698-8054),我们将立即处理,马上删除。
相关推荐
Java性能测试有哪些不为众人所知的原则?Java设计模式??装饰者模式谈谈Java中遍历Map的几种方法Java Web入门必知你需要理解的Java反射机制知识总结编写更好的Java单元测试的7个技巧编程常用的几种时间戳转换(java .net 数据库)适合Java开发者学习的Python入门教程Java webdriver如何获取浏览器新窗口中的元素?Java重写与重载(区别与用途)Java变量的分类与初始化JavaScript有这几种测试分类Java有哪四个核心技术?给 Java开发者的10个大数据工具和框架Java中几个常用设计模式汇总java生态圈常用技术框架、开源中间件,系统架构及经典案例等

sales@spasvo.com