java----数组 array
来源:互联网 发布:网络电视iptv怎么打开 编辑:程序博客网 时间:2024/05/14 03:04
package demo;import java.util.Arrays;/** * 数组是一种数据结构,用来存储同一类型值的集合 * 1.数组的定义 * 1.1、数组静态初始化的语法格式: * arrayName = new type[]{element1,element2,element3...} * arrayName = {element1,element2,element3...} * 1.2、数组动态初始化的语法格式: * arrayName = new type[length]; * 静态初始化时不能指定元素个数,而动态初始化时则必须指定元素个数 * 例如: * int[] arr = new int[4]; * int[] arr = {1,2,3,4}; * int[] arr = new int[]{1,2,3,4}; * * byte、short、int、long数组元素的初始值是0 * float、double数组元素的初始值是0.0 * char数组元素的初始值值是'\u0000' * boolean数组元素的初始值是false * 类、接口、数组元素的初始值是null * * 數組的判斷:不能等於null ,并且長度不能等於0 * * 2.数组的遍历 * 数组的下标是从0开始. * for循环,for each循环, Arrays.toString * * 3.数组的扩容 * Java数组对象的大小是固定不变的,数组对象是不可扩容的. * 利用数组复制方法可以变通的实现数组扩容. * Arrays.copyOf(original 原数组, int newLength 数组的长度); * System.arraycopy(原數組,,原數組的起始下標,,新數組..新數組起始下標...新數組的長度); * * 4.数组的排序 * 1.快速排序 Arrays.sort(); * 2.冒泡排序 * * 5.二维数组 * int[][] arr=new int[3][4]; * int[][] arr={{1,2,3,4},{5,6,7,8},{2,3,4,5}}; * int[][] arr=new int[][]{{1,2,3,4},{5,6,7,8},{2,3,4,5}}; * * 6.二维数组的遍历 * for,for each,Arrays.deepToString() * * * 7.數組的倒置 1).先找到最小下標 在找到最大下標 在找到中間下標(小下標+大下標)/2 2.) 更換位置(第一個和最後一個...) i和arr.length-i交換位置 * * * 8.數組的查找 1.有序數組可以通過二分法查找 二分法查找步驟 1).先找到最小下標 在找到最大下標 在找到中間下標(小下標+大下標)/2 2).判斷數和你找的數是不是一樣的 3).修改最大下標或者最小下標 2.無序數組 可以通過遍歷查找 先初始化要找的下標設置index =-1; * * * **/public class ArrayDemo {/*数组的遍历*/ public static void method_1(){ int[] a=new int[10]; for(int i=0;i<a.length;i++){ a[i]=i; System.out.println(a[i]); } System.out.println("-------------"); for(int arr:a){ System.out.println(arr); } System.out.println("-------------"); System.out.println(Arrays.toString(a)); } /*数组的扩容*/ public static void method_2(){ int[] arr={1,2,3}; int[] arrcopy=Arrays.copyOf(arr, 2*arr.length); arrcopy[5]=4; System.out.println(Arrays.toString(arrcopy)); } /*统计一个字符在字符串中的所有位置. */ public static int[] count(String str,char key){ int[] count={}; for(int i=0;i<str.length();i++){ char c=str.charAt(i); if(c==key){ //扩展数组 count=Arrays.copyOf(count, count.length+1); //添加序号i count[count.length-1]=i; } } return count;}/*冒泡排序法*/public static int[] method_4 (int[] arr){ for(int i=0;i<arr.length;i++){ for(int j=0;j<arr.length-i-1;j++){ if(arr[j]<arr[j+1]){int c = arr[j];arr[j] = arr[j+1];arr[j+1] = c; } } }return arr;}public static void method_5(){int[][] arr=new int[3][4];System.out.println(Arrays.deepToString(arr));} public static void main(String[] args){ method_1(); method_2(); char key = '字'; String str = "统计一个字符在字符串中的所有位置"; int[] count=count(str,key); System.out.println(Arrays.toString(count));//[4, 7] int[] arr={4,8,10,29,5}; int[] array=method_4(arr); System.out.println(Arrays.toString(array)); method_5(); }}
阅读全文
0 0
- Java 之 Array 数组
- 细说java数组Array
- Java 之 Array 数组
- java数组(array)
- java--数组(Array)
- java数组Array
- java -Array数组操作
- java-数组array
- java----数组 array
- Java array数组
- java学习6 数组array
- java array数组是不是类
- Java中的数组类Array
- java之数组Array使用
- java 入门程序 之array(数组)
- Java使用byte数组实现bit array
- JAVA学习笔记总结(四):数组(Array)
- java se List转为数组Array
- Cygwin下开发Python 访问Linux路径异常
- CodeForces
- C语言学历历程(十三)结构体与链表结合编写“增删改查”
- AMOS分析技术:模型修正&单文件多模型操作
- 【第四届蓝桥杯预选赛】排他平方数
- java----数组 array
- 投票者
- 数组哪些事儿
- C++容器--std::set
- sqoop基本操作
- lattice diamond 破解(获取license)方法
- vs中QT项目的路径配置
- 2017/12/6 Android计时器
- 生于忧患而死于安乐:程序员如何走出自己的安逸环境