数组与集合
数组&集合
一、一维数组
	  1、定义:可以存储多个相同类型的有固定容量的容器
	  2、格式:A:动态初始化(给长度无元素 )    int[] arr = new int[5];
			         B:静态初始化(直接给出元素 )     int[] arr = {1,2,3,4,5};
	  3、访问方式:for循环遍历:索引从0到数组长度-1;
				          直接访问单个数组元素:arr[2];
二、二维数组
	  1、格式:A:动态初始化  数据类型[][]  数组名 = new 数据类型[m][n];   (m:二维数组中有多少个一维数组   n:一维数组数组中元素的个数)
				        int[][] arr = new int[m][n];
			      B:静态初始化   数据类型[][] 数组名 = {{元素1,元素2···},{元素3,元素4,元素5···},···};
				        int[][] arr = {{1,2,3,},{4,5}};
				
三、数组的默认初始化值:
		   * 	整数类型:0
		   * 	小数类型:0.0
		   * 	字符类型:\u0000
		   * 	布尔类型:false
		   * 	引用数据类型:null
四、数组常见的2个异常:
	  1、数组空指针异常:(NullPointerException) 数组没有任何引用指向
	  2、数组索引越界异常:(ArrayIndexOutOfBoundsException) 访问不了没出现的索引
数组小例子:
package test; public class ArrayS { public static void main(String[] args) { //动态初始化一维数组 int[] arr = new int[5]; //单个赋值 arr[0] = 1; arr[1] = 2; arr[2] = 3; arr[3] = 4; arr[4] = 5; //静态初始化二维数组 int[][] arrs = {{1,6,3},{4,7}}; int count=0;//定义一个变量记录数据 //判断数组中,一维数组与二维数组相同的数字有几个 for(int i = 0 ; i < arr.length; i++) { for(int j=0;j<arrs.length;j++){ for(int x=0;x<arrs[j].length;x++){ if(arrs[j][x]==arr[i]){ count++; System.out.print(arr[i]+" "); } } } } } }
结果:

	
五、集合
	  1、定义:只能存储引用性数据类型的容量可变的容器
	  2、构造方法:ArrayList();
	  3、常见功能方法(增获删改):
		    添加:
			      add(E e);   向集合中添加元素
			      add(int index,E e);   向集合中指定索引位置添加元素
		    获取:
			      int size();	  获取集合长度
			      E get(int index);    获取指定索引上的元素
		    修改:
			      set(int index,E e);	将指定索引位置上的元素用新元素进行替换
		    删除:
			      remove(Object obj); 根据指定元素进行删除
			      remove(int index);	将指定索引上的元素删除
	4、基本数据类型对应的包装类
		  byte	    	Byte
	  	  short     Short
	  	  int        			Integer
	      long	     Long
	      float	    	Float
	      double	    Double
	      char	    Chracter
	      boolean       Boolean
集合小例子:
package test; import java.util.ArrayList; public class ArrayListS { public static void main(String[] args) { ArrayList<String> list = new ArrayList<String>(); //增加元素到集合 list.add("hello"); list.add("java"); list.add("world"); //直接打印集合 System.out.println("直接输出集合:"+list); //遍历集合打印元素 System.out.print("遍历输出集合:"); for(int i=0;i<list.size();i++){ if(i==list.size()-1){ System.out.println(list.get(i)); }else{ System.out.print(list.get(i)+" ");//获取每个集合元素 } } System.out.println("------"); //修改第一个元素 list.set(0, "hi"); System.out.println("修改后的集合"+list); System.out.println("------"); //删除第二个元素 list.remove(1); System.out.println("删除后的集合"+list); } }
结果:

			
六、集合与数组的区别:
	  数组是固定的
	  集合是可变的
	  数组既可以存储基本数据类型也可以存储引用数据类型
	  集合只能存储引用数据类型。如果想存储基本数据类型就要使用对应的包装类
七、集合为什么是可变的?
	  创建一个ArrayList集合,默认初始长度是10
	  如果容量中已经存满了元素,那么会自动创建一个比原来长度多1.5倍的新数组。
	    然后调用System中arrayCopy()方法,将原数组中的元素复制到新数组中。然后继续用新数组存储元素
			
			
			
			
 
                     
                    
                 
                    
                
 
                
            
         
         浙公网安备 33010602011771号
浙公网安备 33010602011771号