java集合类
Posted Ipeter
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java集合类相关的知识,希望对你有一定的参考价值。
java集合的主要分为三种类型:JAVA集合位于 java.util包 Set(集) List(列表) Map(映射) arrays函数, equals():比较两个array是否相等。 fill():将值填入array中。 sort():用来对array进行排序。 binarySearch():在排好序的array中寻找元素。 arraycopy():array的复制。 集合分类:Collection、List、Set、Map都是接口,不能实例化。 Collection:List、Set ;Collection是最基本的集合接口 Map:HashMap、HashTable Collection接口的方法: boolean add(Object o) :向集合中加入一个对象的引用 void clear() :删除集合中所有的对象,即不再持有这些对象的引用 boolean isEmpty() :判断集合是否为空 boolean contains(Object o) :判断集合中是否持有特定对象的引用 Iterartor iterator() :返回一个Iterator对象,可以用来遍历集合中的元素 boolean remove(Object o) :从集合中删除一个对象的引用 int size() :返回集合中元素的数目 Object[] toArray() :返回一个数组,该数组中包括集合中的所有元素 Iterator接口: hasNext():判断集合中元素是否遍历完毕,如果没有,就返回true next() :返回下一个元素 remove():从集合中删除上一个有next()方法返回的元素。 set:无须无重复 HashSet: HashSet类按照哈希算法来存取集合中的对象,存取速度比较快 TreeSet :TreeSet类实现了SortedSet接口,能够对集合中的对象进行排序。 LinkedHashSet:具有HashSet的查询速度,且内部使用链表维护元素的顺序(插入的次序)。 List接口:线性可重复 ArrayList() : 代表长度可以改变得数组。可以对元素进行随机的访问,向ArrayList()中插入与删除元素的速度慢。 LinkedList(): 在实现中采用链表数据结构。插入和删除速度快,访问速度慢。 Vector list遍历: 1: for循环和get()方法: for(int i=0; i<list.size();i++){ System.out.println(list.get(i)); } 2: 使用 迭代器(Iterator): Iterator it=list.iterator(); while(it.hashNext()){ System.out.println(it.next()); } Map(映射): Map没有继承于Collection接口,属于独立分支。 Object put(Object key, Object value): 向集合中加入元素 Object remove(Object key): 删除与KEY相关的元素 void putAll(Map t): 将来自特定映像的所有元素添加给该映像 void clear():从映像中删除所有映射 Object get(Object key):获得与关键字key相关的值 containsKey()和containsValue()测试Map中是否包含某个“键”或“值” map:无须无重复(key),与set类同 HashMap:Map基于散列表的实现。单线程中 Map<String, String> map = new HashMap<String, String>(); LinkedHashMap:使用链表维护内部次序。 TreeMap : 基于红黑树数据结构的实现。单线程中 Map<String, String> map = new TreeMap<String, String>(); HashTable:多线程中 Map的一般用法 1.声明一个Map : Map map = new HashMap(); 2 .向map中放值 ,注意: map是key-value的形式存放的 map.put("sa","dd"); 3 .从map中取值 : String str = map.get("sa").toString, 结果是: str = "dd‘ 4 .遍历一个map,从中取得key和value : Map m= new HashMap(); for(Object obj : map.keySet()){ Object value = map.get(obj ); } 遍历HashMap for (String key : map.keySet()) { value = map.get(key); } for (Entry<String, String> entry: map.entrySet()) { key = entry.getKey(); value = entry.getValue(); } for (String value : map.values()) { } 遍历TreeMap: for (String key : map.keySet()) { value = map.get(key); } for (Entry<String, String> entry: map.entrySet()) { key = entry.getKey(); value = entry.getValue(); } for (String value : map.values()) { }