6.JAVA_SE复习(集合)

集合 html

结构图: java

总结:ide

1.集合中的元素都是对象(注意不是基本数据类型),基本数据类型要放入集合须要装箱。 函数

2.setlist的主要区别在于set中不容许重复,而list(序列)中能够有重复对象。spa

3.TreeSet中能够排序,HashSet是无序的;VectorArrayList都是能够排序的code

List orm

1.arrayList.add(null);  列表中会有null        htm

2.list中:ArrayListVector都有一个缺点,就是当删除或增长集合中的某一元素时,该元素后的下标会发生变化。为解决这一缺陷,咱们用LinkedList,它的元素采用独立的节点,每个节点中存放着指向下一个节点的引用。对象

 LinkedList的优缺点:优势 - - - 有利于方便高效的进行插入和删除操做。缺点 - - - 在进行随机元素查询时效率相对较低。blog

3.Vector相较于ArrayList,同步时开销较大,访问速度比ArrayList慢。

4.LinkedList中的方法只能取首位值,例如银行排队时适用该集合

5. Stack类:   表示后进先出(LIFO)的对象堆栈     Last in First out

                                        peek()   查看堆栈顶部的对象,但不从堆栈中移除它。

                                        E pop()  移除堆栈顶部的对象,并做为此函数的值返回该对象。

                                        E push(E item)     把项压入堆栈顶部

 

 

 

 

 

 

 

Pscompator排序:

范例1

ArrayList<Employee> emps = new ArrayList<Employee>();

       emps.add(new Employee("张三1", 21));

       emps.add(new Employee("张三2", 22));

       emps.add(new Employee("张三3", 23));

       Collections.sort(emps, new Comparator<Employee>() {

                                   @Override

                  public int compare(Employee o1, Employee o2) {

                            return o1.getAge() - o2.getAge();

                            }

                  });

范例2

Collections.sort(emps, new EmpCompartor());

另写一个EmpCompartor()类:

public class EmpCompartor implements Comparator<Employee> {

    @Override

    public int compare(Employee o1, Employee o2) {

       return o1.getAge() - o2.getAge();

    }

}

Set

1.       Iterator<Integer> iterator = hashSet.iterator();

Iterator的几个方法:

hasNext()
若是仍有元素能够迭代,则返回 true

next()
返回迭代的下一个元素。

remove()
从迭代器指向的 collection 中移除迭代器返回的最后一个元素(可选操做)。

   2. comparable&   Comparator    都是用来实现集合中的排序的,只是Comparable是在集合内部定义的方法实现的排序,Comparator是在集合外部实现的排序,因此,如想实现排序,就须要在集合外定义Comparator接口的方法compare()或在集合内实现Comparable接口的方法compareTo()  
   

   3.排序的三种方法:

A.在须要排序的类的内部继承Comparable接口而且在下面定义一个compareTo方法(其返回值类型是int,经过不一样对象的减法获值)

B.在构造一个TreeSetlist集合时,在构造器内new 一个比较器,而后在文件中建立该比较器,该比较器继承Comparator接口,而且实现该接口中的compare方法,其返回值也为int

C. 在构造一个TreeSetlist集合时,咱们使用匿名内部类,来实现Comparator接口中的compare方法,在构造时直接声明。

4.HashMapHashTable

 a.HashTable是同步的,其余的大体相同;

b.Hashtable 不容许 null (key value 都不能够)HashMap 容许 null (key value 均可以)

c. 遍历方式不一样,Hashtable 使用EnumerationHashMap 使用Iterator

d. 哈希值的使用不一样,Hashtable 直接使用对象的hashCode,而HashMap 从新计算hash 值,并且用与代替求模。

 

 

Ps: 1.键必须是惟一的,一个键不能对应两个值。若是在映射表内对同一个键调用两次put 方法,第二个值就会覆盖第一个值。

2.删除元素的时候,若是直接使用remove通常没法删除干净,一边使用Iterator迭代删除



相关文章
相关标签/搜索