疯狂java


您现在的位置: 疯狂软件 >> 新闻资讯 >> 正文

Java中常用集合操作


 

 
一、Map 名值对存储的。 常用派生类HashMap类
 
添加:
 
put(key,value)往集合里添加数据
 
删除:
 
clear()删除所有
 
remove(key)清除单个,根据k来找
 
获取:
 
size()获取元素的数量
 
get(key)根据key获取该数据
 
containsKey(key)根据key查找集合中有没有该内容,有返回true ,没有返回false
 
containsValue(value)根据value查找集合中有没有改内容,有返回true,没有返回false
 
复制代码
    public static void main(String[] args){
        Map map = new HashMap();
        map.put(1, "一");
        map.put(2, "二");
        map.put(3, "三");
        map.put(4, "四");
        
        map.remove(1);     //根据key删除
        System.out.println("有"+map.size()+"个元素");
        System.out.println(map.get(4)); //根据key查找
        System.out.println(map.containsKey(1));
        System.out.println(map.containsValue("二"));
复制代码
 
 
 
 
强类型集合
 
<>中加入类型,前后要对应
 
Map<Tkey,Tvalue> map = new HashMap<Tkey,Tvalue>();
 
二、List 用索引号存储的,派生类是ArrayList和LinkedList。
添加:
 
add (obj)
 
删除:
 
clear()删除所有
 
remove(int)根据索引号移除
 
remove(obj)根据内容移除
 
获取:
 
size()获取元素的数量
 
get(int)根据索引号获取指定元素
 
contains(obj)查找集合里有没有该数据源,有返回trus,没有返回false
 
遍历:
 
1.List可以直接for循环使用索引号遍历集合
 
for (int i = 0; i < list.size(); i++) {
 
   System.out.println(list.get(i));
 
}
 
2.还可以使用迭代器来遍历
 
迭代器(Iterator)
 
  迭代器是一种设计模式,它是一个对象,它可以遍历并选择序列中的对象,而开发人员不需要了解该序列的底层结构。迭代器通常被称为“轻量级”对象,因为创建它的代价小。
 
  Java中的Iterator功能比较简单,并且只能单向移动:
 
  (1) 使用方法iterator()要求容器返回一个Iterator。第一次调用Iterator的next()方法时,它返回序列的第一个元素。注意:iterator()方法是java.lang.Iterable接口,被Collection继承。
 
  (2) 使用next()获得序列中的下一个元素。
 
  (3) 使用hasNext()检查序列中是否还有元素。
 
  (4) 使用remove()将迭代器新返回的元素删除。
 
  Iterator是Java迭代器最简单的实现,为List设计的ListIterator具有更多的功能,它可以从两个方向遍历List,也可以从List中插入和删除元素。
 
 
 
复制代码
  ArrayList <String> list=new ArrayList<>();
        list.add("jackie");   //索引为0  //.add(e)添加元素
        list.add("peter");    //索引为1
        list.add("annie");    //索引为2
        list.add("martin");   //索引为3
        list.add("marry");    //索引为4
        
        System.out.println("一共有"+list.size()+"个元素");//.size()查询一共有多少个元素
        list.remove(3);        //.remove(index) 根据索引号删除
        list.remove("marry");     //.remove(Object o)  根据内容删除
        System.out.println(list.contains("martin")); //.contains(obj)查询集合中是否有这个元素
        
        System.out.println("索引号为2的是:"+list.get(2));    //.get(index)根据索引号查找
        System.out.println("一共有"+list.size()+"个元素");
        //用for循环遍历
        for (int i = 0; i < list.size(); i++) {
            System.out.println(list.get(i));  //for循环使用索引号遍历list
        }
     //用迭代器遍历
     Iterator it = list.iterator(); //造一个迭代器
     while(it.hasNext()){        //.hasNext()检查序列中是否还有元素
        object obj =  it.next(); //.next()获得序列中的下一个元素
         System.out.println(obj);
     }
复制代码
 
 
强类型集合
 
<>中加入类型,前后要对应
 
List<T> list = new ArrayList<T>();