-
数组和集合:
-
数组特点:
长度固定,可以存同一种类型的对象(或基本数据类型)。
查询和修改快
String[] strings=new String[10];
String strings2[]=new String[10];
String strings2[]={"1","2","3","4"};
数组方法:
Arrays.fill()
Arrays.sort()
Arrays.copyOf()
Arrays.asList()
ArrayUtils.addAll(intArray, intArray2);
ArrayUtils.removeElement(intArray,3);
-
集合特点:
长度不固定,只能存对象,但可以是不同类型。
-
常用集合
- List:对付顺序的好帮手
有序,可以重复,可以为空,可以有多个空。
- Set:注重独一无二的性质
无序,不可重复,可为空,只能有一个空值(不会有多个元素引用相同的对象)(重复的存第一个)。
add(E e)
remove(E e)
迭代器 hasNext() next()
size()
- Map:用Key来搜索的专家
使用键值对存储。Map会维护与Key有关联的值。两个Key可以引用相同的对象,但Key不能重复,典型的Key是String类型,但也可以是任何对象。(重复的存最后一个)
List基本用法:
-
Arraylist 与 LinkedList 区别
-
Arraylist底层使用的是数组(存读数据效率高,插入删除特定位置效率低),LinkedList 底层使用的是双向链表数据结构(插入,删除效率特别高)(JDK1.6之前为循环链表,JDK1.7取消了循环。注意双向链表和双向循环链表的区别:); 学过数据结构这门课后我们就知道采用链表存储,插入,删除元素时间复杂度不受元素位置的影响,都是近似O(1)而数组为近似O(n),因此当数据特别多,而且经常需要插入删除元素时建议选用LinkedList.一般程序只用Arraylist就够用了,因为一般数据量都不会蛮大,Arraylist是使用最多的集合类。
-
-