android把2变成02_【Android】学习札记第2章之数组二(Arrays工具类)
工具/原料
JDK、eclipse、android SDK、ADT
一、数组工具类Arrays的功能
1、数组的复制:
①Arrays.copyOf(数组,新的长度):将指定的数组,复制成指定长度的新数组。
②System.arraycopy(原数组,原数组起始位置,目标数组,目标数组起始位置,复制的数据个数):可以自身复制。
2、其他数组工具类Arrays的功能:
①String.toCharArray():将字符串转成字符数组。
②Arrays.sort(数组):对数组排序优化的快速排序算法,效率最高。
③Arrays.binarySearch(数组,目标值):调用二分法查找,在有序数组中查④找一个值所在位置,如果找不到,会得到负数。
⑤Arrays.toString(数组):将数组中的值一个一个的连接起来,连接成字符串,字符串格式:"[值1,值2,值3]"。
⑥Arrays.fill(数组,值):在指定数组每个位置,都放入指定的值。
二、数组练习
1、猜字母(已经产生了5个不重复的大写字母,请猜这5个字母):
思路:先随机生成字母,然后循环跟用户输入的值比较,如果猜对跳出循环,如果猜错重新循环继续猜。
①随机字母可通过在所有字母中取随机字母把没有取出的字母随机取出,再跟前5个字母交换位置,或者新建一个长度为原字母数组相同都为26的boolean数组和一个长度为6的整型数组,插入到新整型数组前先判断booean数组中相应位置是false或true,循环判断,最终得到随机且不重复的字符数组。
②把用户输入的值变成字符数组,2个数组通过循环依次比较大小,如果有相同的数值,就再判断2个数值所在位置是否相同,如果相同a变量计数加1,如果不同b变量计数加1,最后组合字符串得到“5A0B”,就可以判断用户所输入的对不对了。
2、插入排序:
思路:从下标0开始向后依次拿后一位数跟前一位数做比较,直到把最小数插入到最前边。
3、冒泡排序:
思路:从最后一位开始向左依次拿后一位数跟前一位数做比较,然后把最小数往前挪,一直到从做到右都是自小至大的排列顺序,如果在向左比较过程中都是前一位大于后一位则不用再继续比较跳出循环即可。
4、二分法查找(折半查找):
在“有序”数组中,查找一个值所在的位置。
三、数组作业
选择排序:
例如:[2,3,4,7,6,9,5],循环数组从i往后,选择最小值所在的位置min,然后,i和min的值交换。
注意事项
冒泡排序和二分法查找其实完全是应付面试,真正程序猿根本不会去用这种排序方法,直接用Arrays.sort()和Arrays.binarySearch()就可以做到,效率方面而且还是优化过的。
android把2变成02_【Android】学习札记第2章之数组二(Arrays工具类)相关推荐
- Android Studio 插件开发详解二:工具类
转载请标明出处:http://blog.csdn.net/zhaoyanjun6/article/details/78112856 本文出自[赵彦军的博客] 在插件开发过程中,我们按照开发一个正式的项 ...
- 【OSATE学习笔记】AADL语法介绍(二)软件类构建详细介绍
介绍 本文主要介绍AADL软件类组件Process.Thread.Thread Group.Data.Subprogram.Subprogram Group的功能和基本用法. 这些被称作进程.线程组和 ...
- Java基础学习总结(104)——多线程、并发、工具类相关的面试题
线程的概念 线程是程序执行的最小单位,也是操作系统调度和分派CPU的最小单元,是进程中的一个实体,是进程中的实际运作单位.可以在一个进程中启动多个线程来完成不同的任务,这些线程共享该进程拥有的资源. ...
- android+小米文件管理器源码,小米开源文件管理器MiCodeFileExplorer-源码研究(2)-2个单实例工具类...
从本篇开始,讲解net.micode.fileexplorer.util工具包中的类. 这个包下的类,功能也比较单一和独立.很多代码的思想和实现,可以用于JavaWeb和Android等多种环境中. ...
- android解决工具类中没有context中的问题
有时我们需要在一个工具类中用到上下文context.当然有一个做法就是使用传递context的方法,当我们需要用全局context的时候,该怎么办呢? 其实我们应用启动的时候会启动Applicatio ...
- ( 持续更新,目前含 200+ 工具类 ) DevUtils 是一个 Android 工具库, 主要根据不同功能模块,封装快捷使用的工具类及 API 方法调用。
DevUtils GitHub About ( 持续更新,目前含 200+ 工具类 ) Roadmap DevUtils 是一个 Android 工具库,主要根据不同功能模块,封装快捷使用的工具类及 ...
- android文件管理工具类,GitHub - RyanYans/Android-Utils: 安卓开发 常用 工具类 汇总
天下文章一大抄,因为从开始学习到现在大约一年多 积攒的工具类.很多都是别人的. 但是也不知道是谁的了 如果涉及什么的问题.请联系我.我会做出相应修改: PS:不懂怎么用的,都可以看demo 一些都是已 ...
- 第21天学习Java的笔记-数学工具类Arrays,Math
27天! 数学工具类 1.1数组工具类Arrays package Demo2101;/* 注意事项:是Arrays进行调用,不是变量进行调用!!!* java.util.Arrays是一个与数组相关 ...
- JavaScript学习(六十五)—数组知识点总结
JavaScript学习(六十五)-数组 学习内容 一.什么是数组 二.数组的分类 三.数组的创建方式 四.数组元素 五.数组的操作 六.数组元素遍历的四种方法 七.随机数为数组赋值 八.数组的比较 ...
- Java学习day18-集合框架2(泛型,工具类,TreeMap)
集合框架2 今日目标 一.泛型 1.泛型类 2.泛型接口 3.泛型方法 4.泛型通配符 二.集合工具类 三.TreeMap和TreeSet 作业: 今日目标 泛型 集合工具类 自带排序集合 一.泛型 ...
最新文章
- Windows Server 2016-Netdom Join加域并指定OU (一)
- 兼容ie跟谷歌上传文件
- Xshell通过SSH连接阿里云报错“服务器发送了一个意外的数据包” xshell连接ubuntu
- 2013年第四届蓝桥杯C/C++ A组国赛 —— 第一题:填算式
- 【渝粤教育】国家开放大学2018年春季 0674-22T财务管理 参考试题
- http://www.tldp.org/LDP/abs/abs-guide.txt.gz
- 仿射解密c语言程序实验报告,仿射加密解密 - 依姆哣特的个人空间 - OSCHINA - 中文开源技术交流社区...
- 又见回文数 NYOJ781
- MATLAB机械动力分析,基于MATLAB的柔性机械臂动力学分析
- android httpclient版本,Android studio使用http 没有 HttpClient
- STM32 串口程序下载
- Pr剪辑上分攻略 -- 动漫电影混剪
- 国内服务器带宽价格是多少?国内服务器带宽为什么贵?
- 利用SPSS进行多重线性回归分析-基础篇
- CUDA编程.cu文件
- 再次携号转网_全国携号转网真来了!这些坑一定要小心!
- 业内人士坦言——猎头公司做不大
- 制作WINRE恢复光盘
- Keil中部分Error Warning解决方法记录
- Android获取汉字首字母工具类