怎么做可上传图片的网站/百度seo公司兴田德润
1. 集合与数组存储数据概述:
- 1.集合、数组都是对多个数据进行存储操作的结构,简称Java容器。
- 说明:此时的存储,主要指的是内存层面的存储,不涉及到持久化的存储(.txt,.jpg,.avi,数据库中
2. 数组存储的特点:
- 一旦初始化以后,其长度就确定了。
- 数组一旦定义好,其元素的类型也就确定了。我们也就只能操作指定类型的数据了。 比如:String[] arr;int[] arr1;Object[] arr2;
3. 数组存储的弊端:
- 一旦初始化以后,其长度就不可修改。
- 数组中提供的方法非常限,对于添加、删除、插入数据等操作,非常不便,同时效率不高。
- 获取数组中实际元素的个数的需求,数组没有现成的属性或方法可用
- 数组存储数据的特点:序、可重复。对于无序、不可重复的需求,不能满足。
4. 集合存储的优点:
解决存储数据方面的弊端
5.Collection接口
1.单列集合框架结构
-
|----Collection接口:单列集合,用来存储一个一个的对象|----List接口:存储有序的、可重复的数据。 -->“动态”数组|----ArrayList、LinkedList、Vector|----Set接口:存储无序的、不可重复的数据 -->高中讲的“集合”|----HashSet、LinkedHashSet、TreeSet
对应图示:
2.Collection接口常用方法:
3.Collection集合与数组间的转换
public void test5(){Collection coll = new ArrayList();coll.add(123);//自动装箱coll.add("AA");coll.add(false);//其实存的是Boolean型coll.add(new Person("Tom", 12));coll.add(new Person("Tom", 12));coll.add(123);coll.add(new String("CC"));System.out.println(coll.toString());//[123, AA, false, Person{name='Tom', age=12}, Person{name='Tom', age=12}, 123, CC]//7.hashCode():返回当前对象的哈希值System.out.println(coll.hashCode());//-1689392592//8.集合 --->数组:toArray()Object[] arr = coll.toArray();for (int i = 0; i < arr.length; i++) {System.out.println(arr[i]);}System.out.println("**************************");//拓展:数组 --->集合:调用Arrays类的静态方法asList(T......t)List arr1 = Arrays.asList(123, 456);//该语句表达的意思是下述语句属于Integer类,所以两个数据// List arr1 = Arrays.asList(new Integer[]{123, 456});System.out.println(arr1.size());//2System.out.println(arr1);//[123, 456]List arr2 = Arrays.asList(new int[]{123, 456});System.out.println(arr2.size());//1,把该数组当成了一个整体,所以显示里面的数据只有一个System.out.println(arr2);//[[I@1376c05c]List arr3 = Arrays.asList(new Person("Tom", 12), new Person("Mary", 13));System.out.println(arr3);//[Person{name='Tom', age=12}, Person{name='Mary', age=13}]
}
4.使用Collection集合存储对象,要求对象所属的类满足:
向Collection接口的实现类的对象中添加数据obj时,要求obj所在类要重写equals()
5.本章节对大家的要求:
层次一:选择合适的集合类去实现数据的保存,调用其内部的相关方法。
层次二:不同的集合类底层的数据结构为何?如何实现数据的操作的:增删改查等。