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()) {
}

  

以上是关于java集合类的主要内容,如果未能解决你的问题,请参考以下文章

java 代码片段

java代码在片段活动中不起作用

代码片段 - Golang 实现集合操作

laravel特殊功能代码片段集合

编写高质量代码:改善Java程序的151个建议(第3章:类对象及方法___建议36~40)

201621123062《java程序设计》第九周作业总结