`

16.数组

J# 
阅读更多

1.数组和其他容器的区别
效率,类型和保存基本类型的能力。
效率是以数组大小被固定的代价换来的。
在泛型之前,容器的对象都被当做object,而数组则可以限制某种类型。
其他容器通过包装基本类型来保存。

2.对象和基本类型数组

对象数组保存引用。

基本类型数组保存值。

3.粗糙数组

维度长度不一数组。
int[][][] a = new int[rand.nextInt(7)][][];
    for(int i = 0; i < a.length; i++) {
      a[i] = new int[rand.nextInt(5)][];
      for(int j = 0; j < a[i].length; j++)
        a[i][j] = new int[rand.nextInt(5)];
    }

4.java.util.Arrays
其中的deepToString可以对数组值做深层输出。

int[] a = new int[5];
Arrays.fill(a,5);

String[] b = new String[9];
Arrays.fill(b,"hello");
Arrays.fill(b,3,5,"world");//填充数组的3到5的区域。

 int[] arr = {93, 5, 3, 55, 57, 7, 2 ,73, 41, 91};
 Arrays.sort(arr);//排序
 Arrays.binarySearch(arr, key);//如果没找到返回负值。返回值=插入点-1;
 Arrays.equals(arr1, arr2)); //比较两个数组,返回true或false
 Arrays.deepEquals(arr1, arr2));//可以对二维仍至三维以上的数组进行比较是否相等
 
 System.arraycopy(源数组,源起始位置,目标数组,目标起始位置,复制个数)如果是对象则复制 引用。

5.数组和泛型
两者不能很好的结合。

Peel<Banana>[] peels = new Peel<Banana>[10];//illegal
擦除会移除参数类型信息,而数组必须知道它们所持有的确切类型,以强制保证类型安全。

但是可以创建泛型数组引用。
List<String>[] ls;
然后创建非泛型数组,将其强制转换。
    List[] la = new List[10];
    ls = (List<String>[])la;
    ls[1] = new ArrayList<String>;
    // Compile-time checking produces an error:
     //! ls[1] = new ArrayList<Integer>();
    因为数组是协变类型的,List<String>[] 也是一个Object[].
     Object[] objects = ls; // So assignment is OK
    // Compiles and runs without complaint:
    objects[1] = new ArrayList<Integer>();

分享到:
评论

相关推荐

    斯坦福大学公开课:编程方法学(28集)

    资源名称:斯坦福大学公开课:编程方法学(28集)资源目录:【】1....指针要点回顾【】16.数组【】17.多维数组【】18.多维数组收尾【】19.接口【】2.欢迎来 资源太大,传百度网盘了,链接在附件中,有需要的同学自取。

    android 入门笔记

    1. 开发环境配置 2 1) Eclipse下载地址: 2 2) Android SDK下载地址: 2 3) Mars教学视频地址: 2 ...16. 数组方式构造下拉框 18 17. 用户登录例子: 19 18. 用户登录对话框 22 19. 下拉框 动态数据 24

    C++ 总结(总结+实例)

    3.数组与字符 10 例子(棋盘游戏) 10 五.指针和引用 12 1.概念 12 2.声明 12 3.指针与数组 13 例子(提取字符串中的单词) 13 4.引用的使用 14 六.函数 14 1.概念 14 2.声明 14 3.main函数 14 例子(argc和argv的...

    单片机发送16进制数组

    单片机发送16进制数组,用的STC单片机。很实用!是我给一个产品订做的。4个按钮,发送4组不同代码!

    MP3文件转C语言16进制数组工具

    MP3文件或者TXT文件转16进制数组工具,可直接生成C语言数组,方便快捷,嵌入式程序员的生产工具。 内含使用教程。

    js常见经典面试题汇总

    16.null typeof为什么是一个object 17.事件冒泡与事件捕获原理 18.父div和子div都绑定了click事件,点击子div触发事件,这个事件的回调顺序 19.阻止冒泡的方式及作用 20.事件委托的理解 21.call、apply、bind的...

    文件转化为16进制数组

    可以将图片文件等文件转化转化成16进制的数组。

    陈广C#视屏教材部分源码

    类的修饰符 16.类型转换(1) 17.类型转换(2) 18.属性(1) 19.属性(2) 20.索引器(1) 21.索引器(2) 22.索引器(3) 23.索引器(4) 24.委托(1) 25.委托(2) 26.事件(1) 27.事件(2) 28.虚方法 29.抽象类 30.接口(1) 31....

    Chap16 指针和数组1

    第十六章 指针和数组1.指针:一个存储对象的地址。2.数组:存储器中被连续排列的一列数据。3.变元总是以值的形式从主调函数传递到被调用函数。4.声明指针变量:类

    数组字库 一个完整的16*16数组字库及使用方法

    本文提供了一个完整的16*16数组字库及使用方法,方便大家在ARM裸机设计中使

    《剑指Offer》题目及代码.zip

    16. 输出反转后的链表 17. 合并两个有序链表 18. 判断二叉树A中是否包含子树B 19. 二叉树的镜像 20. 顺时针打印矩阵 21. 包含min函数的栈 22. 判断一个栈是否是另一个栈的弹出序列 23. 层序遍历二叉树 24. ...

    陈广c#视屏8-10.rar

    类的修饰符 16.类型转换(1) 17.类型转换(2) 18.属性(1) 19.属性(2) 20.索引器(1) 21.索引器(2) 22.索引器(3) 23.索引器(4) 24.委托(1) 25.委托(2) 26.事件(1) 27.事件(2) 28.虚方法 29.抽象类 30.接口(1) 31....

    点阵数组生成(8X8)(16X16).xlsx

    对于8*8以及16*16的点阵数组计算,本表格在输入后可自动生成,省去使用软件计算点阵数组的麻烦,按照提示绘制所需要的点阵即可。

    16进制c数组转成bin文件

    C2B转换助手是ALIENTEK开发的一个C语言数组(仅支持十六进制数组)到BIN文件的转换工具,非常适合将一些大的数组转换为BIN文件,存放在SD卡或者片外FLASH中,从而大大降低对MCU的FLASH的占用。

    javalruleetcode-Leetcode:LeetCode、Swordoffer、数据结构、算法的编程题

    java lru leetcode ...so.16.合并两个排序的链表 so.25.复杂链表的复制 so.36.两个链表的第一个公共结点 so.55.链表中环的入口结点 so.56.删除链表中重复的结点 lc.19.删除链表的倒数第N个节点 lc.23

    C++编程-数据结构与程序设计方法[美.D.S.Malik][中译本]

    不错的C++ 数据结构和算法教程 ...9. 数组和字符串 10.递归 11.结构 12.类和数据抽象 13.继承和组成 14.指针、类、表及虚函数 15.重载与模板 16.链表 17.栈和队列 18.查找和排序算法 19.二叉树 20.图 21.标准模板库

    西安电子科技大学数据结构期中考试试题

    一、 选择题(2分×8 = 16分) 1. 以下数据结构中,是非线性数据结构的是 。 A. 树 B. 字符串 C. 数组 D. 栈 2. 下列程序段的渐进时间复杂度为 。 for( int i=1;i;i++) for( int j=1;j; j++) A[i][j] = i*j ; A...

    目前最火最热门的python经典编程题之1

    3.数组中重复的数字 Array 常考 4.二维数组中的查找 Array 常考 5.替换空格 String 6.从尾到头打印链表 Linked List ...16.数值的整数次方 Math, 关注 17.打印从1到最大的n位数 18.O(1)时间删除链表节点 Linked List

    BMP图像转16进制数组

    可以用来转换BMP图像到16进制数组。可以用来转换BMP图像到16进制数组。

    labview 4字节一维数组整数转为4字节16进制字符串.vi

    labview 读取的一维数组(整数)转换成16进制的字符串,方便大家进行数据处理。有问题可以留言咨询,互相学习

Global site tag (gtag.js) - Google Analytics