1. Collection:集合的抽象数据类型
Collections:包含有关集合操作的静态方法
2.3个,List,Set和Queue没有
3.List可以精准控制列表中的每个元素的插入位置。允许出现重复的值 List列表 linkedList链表
Set不允许重复,HashSet存储顺序为无序。TreeSet存储顺序为有序,排序后为升序
Map:1 每次存储 key-value对;
2 key部分不能重复
3 常用实现类HashMap和TreeMap
4. 散列表(Hash table,也叫哈希表),是根据关键码值(Key value)而直接进行访问的数据结构。也就是说,它通过把关键码值映射到表中一个位置来访问记录,以加快查找的速度。这个映射函数叫做散列函数,存放记录的数组叫做散列表
5.public class Example {
public static void main(String[] args) {
String s1 = "abc";
String s3 = "def";
List
list.add(s1);
list.add(s2);
list.add(s3);
for (String string : list) {
System.out.println( string );
}
System.out.println("-------------------");
Set
set.add(s1);
set.add(s2);
set.add(s3);
for (String string : set) {
System.out.println( string );
}
}adc,def
6.TreeMap是有序的,HashMap是无序的
public class Example {
public static void main(String[] args) {
TreeMap
map.put("one", "1");
map.put("two", "2");
map.put("three", "3");
displayMap(map);
}
static void displayMap(TreeMap map) {
Collection
Iterator
while (i.hasNext()) {
Object o = i.next();
System.ou
7.Vector是使用对象数组来保存数据的,可以根据需要自动增加容量
ArrayList也是根据需要调整容量,不过和Vector有区别,Vector在扩容时会提高一倍,而Array List则是增长50%,有利于节省内存空间
Vector的性能比ArrayList要差
LinkedList是Java提供的双向链表
ArrayList和Vector是基于动态数组实现的,LinkedList是基于双向链表实现的
8.ArrayList是List接口的实现类
ArrayList.ArrayList是没有add()方法,并且没有修改之前传递进去的固定长度数组来实现,这就是为什么修改它的元素会直接影响传进来的数组
java.util.ArrayList只能在不超过capacity的情况下调用set设置元素,不能增加元素。
9.Hashtable方法是同步的HashMap是不同步的
10. String[] array = {"abc" , "ABC" , "123" , "def" , "def" , "abc"};
11.可以边遍边删除
12.for(集合元素类型 i:list){
System.out.println(i)
}
for(集合元素类型 i:set){
System.out.println(i)
}
for (Map.Entry
System.out.println(m);
}