java.util:
数组存在的缺点:数组对象一旦创建,它的长度就不能改变
数组和集合的不同:1.数组长度确定,集合的大小可以根据需要增加 2.存储对象不同,数组能存储基本数据类型,集合只能存储对象
Collecion , 序列,元素有序,允许重复元素
Set 无序,不允许重复元素
ArrayList 是List接口的数组实现,无参构造器初始化一个为10的容器
ArrayList 的缺点:
1.在插入元素时,可能会造成其他元素的移动,导致插入效率低
2.因为所有元素时相邻的,在进行移除的时候,可能会造成其他元素的移动,导致移除效率低
泛型的作用:限定集合中元素的类型
遍历集合中的元素
List集合遍历集合中元素的三种方式:
1. for(int i=0; i<list.size(); i++){list.get(i);}
2. for(Object obj:list){system.out.println(o);}
3. Interator<object> it = list.iterator();
while(it.hasNext()){
System.out.println( it.next();
}
注:next()返回集合的下一个元素并且将这个指针往后移一个元素
java.util.LinkedList<E> 是List接口的实现类,所以,它的使用方式和ArrayList几乎相同,该类实现了List接口中所有的抽象方法,但是它是通过链表实现的,所以它的插入和移除的效率高,而它的所有元素可能不是相邻的,获取某一元素时或者遍历时效率较差
java.util.set<E> 接口继承了Collection 接口,set中不允许重复元素,元素无序,最多允许一个null元素
set集合无序,所以它没有提供通过索引查找元素的方法
set集合不允许重复元素,它通过hash() ;equals()判断元素是否重复
命名规范:
1.类的命名:一般采用名词命名,类名的首字母要大写,若是由多个单词组成,所有的单词的首字母都要大写
2.变量的命名:一般采用名词或者形容词,首字母小写,若是由多个单词组成,除了第一个单词,其他单词首字母大写
3.方法的命名:一般采用动词命名,首字母要小写,若是多个单词组成,除了第一个单词,其他单词首字母大写
4.常量的命名:所有字母大写,若是由多个单词组成,则用下划线分隔
5.所有的命名都要见名知意
HashMap<key,value>:
Map集合中每一个元素都是由键值对构成的,map集合中键不能重复
put();向集合中添加元素,如果键在集合中不存在,添加键值对,返回null值,如果存在,用旧的值替换新的值,并返回旧的值
remove();移除集合中指定的元素
containsKey();判断集合中是否包含指定的键
containsValue();判断集合中是否包含指定的值
keySet();返回所有的键
键允许有null值,但只能有一个null值
遍历map:1.获取所有的键,然后通过get()获取所有的值
2.获取map中所有 的entry对象,通过entry中的getKey和getValue获取键值对
List<E> void set(int index,E e) 在指定位置替换为e
TreeSet<E> 有序的set集合(按元素的自然顺序排序);