码迷,mamicode.com
首页 > 其他好文 > 详细

集合框架

时间:2018-03-10 14:11:28      阅读:175      评论:0      收藏:0      [点我收藏+]

标签:sys   move   while   static   ffffff   java集合   next   array   new   

java集合框架提供了一套性能优良、使用方便的接口和类,它们位于java.util包中

collection接口存储一组不唯一,无序的对象
list 接口存储一组不唯一,有序(插入顺序)的对象
set 接口存储一组唯一,无序的对象

ArrayList实现长度可变的数组,在内存中分配连续的空间.遍历元素和随机访问元素的效率比较高

LinkedList采用链表存储方式.插入删除元素时效率比较高

 Vector 和 ArrayLis 的异同
实现原理、功能相同、可以互用
主要区别
vector线程安全,ArrayList 重速度轻安全线程非安全
长度需增长时,vector默认增长一倍ArrayList增长50%

Hshtable 和 HashMap的异同

实现原理、功能相同、可以互用
主要区别
  Hashtable 继承 Dictionary 类 Hashtable实现Map接口
  Hashtable 线程安全,Hashmap线程非安全
Hashtable不允许有null值,Hashtable 允许null值

在实际开发中最好使用ArrayList 和Hashmap

Collections工具类
java.util.Collections
sort()(排序)方法

Map coutries=new HashMap();
添加 put(Object key键名,Object value值)
coutries.put("","");
通过key获得值
String conter=(String)coutries.get("填写key值");
显示集合中的个数
coutries.size();
判断是否存在键名 (返回一个bool值)
Boolean bool=coutries.containsKeys("键名")
判断是否存在值 (返回一个bool值)
Boolean bool=coutries.containsValue("值")
删除集合对象
coutries.remove("键名");
键集
coutries.keySet();
值集
coutries.values();
键值对集合
coutries;
foreach遍历
for(Object obj:coutries.keySet()){
String keys=(String)obj;
System.out.println("键值集合"+keys);
}
遍历velues值只需把键值换成velues值
清空HashMap判断
coutries.clear();
if(coutries.isEmpty()){
System.out.println("全部清空")
}
使用迭代器遍历
   (集合名)获得键值
Set keys=dogMap.keySet();
获得Iteraotr对象
Iteraotr it = keys.Iteraotr();
While(it.hasNext()){
String key=(String)it.hasNext(); 获得键名
System.out.Print(key) 输出键名
Dog dog=(Dog)dogMap.get(key);

}

 

迭代器只用于单列集合 双列集合要想使用迭代器 先把双列集合装换成单例集合

package map;

import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;
import java.util.Map.Entry;
import java.util.Set;

/**
 * hehe
 */
public class Mymain {
    public static void main(String[] args) {
        Map<String, String> list = new HashMap<String, String>();
        list.put("1", "10");
        list.put("2", "20");
        list.put("3", "30");
        Set<String> key1 = list.keySet();
        for (String key : list.keySet()) {

            System.out.println(list.get(key));
        }
        System.out.println("==========================================");
        Set<Entry<String, String>> enSet = list.entrySet();
        for (Entry<String, String> entry : enSet) {
            System.out.println(entry.getKey());
        }
        System.out.println("===========================================");
        Iterator<String> keyIterator = key1.iterator();
        while (keyIterator.hasNext()) {
            String key = keyIterator.next();
            System.out.println(key);
            System.out.println(list.get(key));
        }
        System.out
                .println("-------------------------------------------------------------");
        Iterator<Entry<String, String>> enSet1 = list.entrySet().iterator();
        while (enSet1.hasNext()) {
            Entry<String, String> nextEntry = enSet1.next();
            System.out.println(nextEntry.getKey());
            System.out.println(nextEntry.getValue());
        }
    }
}

 

集合框架

标签:sys   move   while   static   ffffff   java集合   next   array   new   

原文地址:https://www.cnblogs.com/wh1520577322/p/8538393.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!