JAVA--集合(Collection)

原创 2015年11月20日 22:47:59

集合:

----------| Collection
--------------| List   元素有序,可重复 
-------------------| ArrayList  查询速度快,增删慢
-------------------| Linkedlist  增删快,查询慢
--------------| Set    元素无序,不可重复

方法:

1:add() 将指定对象存储到容器中
 add 方法的参数类型是Object 便于接收任意对象
2:addAll() 将指定集合中的元素添加到调用该方法和集合中
3:remove() 将指定的对象从集合中删除
4:removeAll() 将指定集合中的元素删除
5:clear() 清空集合中的所有元素
6:isEmpty() 判断集合是否为空
7:contains() 判断集合何中是否包含指定对象    
8:containsAll() 判断集合中是否包含指定集合
         使用equals()判断两个对象是否相等 
 9:size()    返回集合容器的大小
10: toArray()   集合转换数组

样例代码:

public class Demo1{

    public static void main(String[] args) {
        /*
        Collection  d = new ArrayList();
        d.add("a");
        d.add(12);
        //System.out.println("是否添加成功"+d.add(3.14)); //add() 返回boolean

        Collection c = new ArrayList();
        c.add(3.14);
        c.add('v');
        c.add(12);
        System.out.println("集合c "+c.size());
        System.out.println("集合d "+d);
        //d.addAll(c);
        //d.clear();
        //System.out.println("删除成功吗?"+d.remove(12)); //remove() 返回boolean
        //d.removeAll(c);  // 在d中删除与c相交的元素。
        d.retainAll(c);     // 在d中保留与c相交的元素,删除其他元素
        System.out.println("集合c "+c);
        System.out.println("集合d "+d);
        */

        /*Collection a = new ArrayList();
        a.add("小明");
        a.add("小梁");
        System.out.println("判断是否为空"+a.isEmpty());
        System.out.println("判断是否包含某个元素"+a.contains("笑话"));*/
        Collection a = new ArrayList();
        a.add("小明");
        a.add("小花");
        a.add("小华");
        a.add("小红");
        /*
         * Object[] arr = a.toArray();
        for(int i=0; i<arr.length ; i++){
            System.out.print(arr[i]+",");
        }
        System.out.println(a);
        */
        Iterator it = a.iterator();
        it.next();
        it.remove();
        System.out.println(a);
        while(it.hasNext()){
            /*it.next();
            it.remove();*/
            System.out.println("元素 :" + it.next());
        }
    }

}

List

方法:

1.add(int index,E element);
2.addAll(int index,Collection c);
3.get(int index);
4.indexOf(object o);
5.lastIndexOf(object o);
6.sunList(int start,int end);
7.set(int index,E element)
8.listIterator();
  注意:在迭代器迭代元素的过程中,不允许用集合对象改变集合内的元素的个数,否则会抛出异常(ConcurrentModificationException),
  如需要添加和删除元素,只能用迭代器的方法操作
9.hasPrevious();   判断是否存在上一个元素
10.previous()  当前指针先向上移动一个,然后再取出当前指针指向的元素。
11.next()  先取出取出当前指针指向的元素,然后指针再向下移。

样例代码:

public class Demo1{
    public static void main(String[] args) {
        /*List list = new ArrayList();
        list.add("张三");
        list.add("李四");
        list.add("王五");
        list.add("赵六");
        list.add("赵六");
        //list.add(1,"xiaowang");
        List list2 = new ArrayList();
        list2.add("小名");
        list2.add("小红");
        list.addAll(1,list2);
        System.out.println(list.get(1));
        System.out.println(list.indexOf("张三"));
        System.out.println(list.lastIndexOf("赵六"));
        System.out.println(list.subList(1,3));
        list.set(1,"小云");
        obj[] arr =list.toArray();
        System .out.println(arr.toString);*/    
        List list = new ArrayList();
        list.add("张三");
        list.add("李四");
        list.add("王五");
        list.add("赵六");
        list.add("赵六");
        //System.out.println(list);
        for(int i=0; i<list.size(); i++){
            System.out.println(list.get(i));
        }
        ListIterator it = list.listIterator();
        while(it.hasNext()){
            System.out.println(it.next());
        }
        while(it.hasPrevious()){
            System.out.println(it.previous());
        }   
    }
}

ArrayList

ArrayList底层维护了一个object数组实现,使用无参构造函数时,
object数组默认容量为10,当长度不够时,自动增长0.5倍

样例代码:

// 删除集合中的重复元素
import java.util.ArrayList;
import java.util.ListIterator;
class Book{
    String name;
    int id;
    public Book(String name,int id){
        this.name = name;
        this.id = id;
    }
    public String toString(){
        return "["+this.name+","+this.id+"]";
    }
    public boolean equals(Object obj){
       Book book = (Book)obj;
       return book.id==this.id;
    }
}

public class Demo3{
    public static void main(String[] args) {
        ArrayList  list = new ArrayList();
        list.add(new Book("Java编程",110));
        list.add(new Book("php编程",330));
        list.add(new Book("C++编程",440));
        list.add(new Book("javascript编程",220));
        list.add(new Book("C编程",110));
        ListIterator it=list.listIterator();
        ArrayList list1=new ArrayList();
        while(it.hasNext()){
            Book book = (Book)it.next();
            if(!list1.contains(book)){
                list1.add(book);
            }
        }
        System.out.println(list1);  
    }
}

Linkedlist

方法:
1.addFirst(E e) 
2.addLast(E e) 
3.getFirst() 
4.getLast() 
5.removeFirst() 
6.removeLast() 

样例代码:

版权声明:本文为博主原创文章,未经博主允许不得转载。

黑马程序员--Collection集合

http://edu.csdn.net/heima android培训 http://edu.csdn.net/heima ; java培训期待与您交流! 一、集合概述: 1、集合特点: ...
  • liaozhi88
  • liaozhi88
  • 2012年12月18日 11:44
  • 2889

Collection集合集成结构图图

Collection集合集成结构图图
  • zhangshengsky
  • zhangshengsky
  • 2017年04月23日 23:49
  • 755

集合Collection的基本用法

/*  * 集合:集合是存储对象数据的集合容器  * 集合比数组的优势:  *    1.集合可以存储任意类型的对象数据,数组只能存储同一种数据类型的数据  *    2.集合的长度是会发生变...
  • love_zjl
  • love_zjl
  • 2016年11月07日 13:48
  • 743

针对Collection集合的三种遍历方式

package copy; import java.util.*; public class CollectionTest2 { /** *三种不同的迭代方式(其实是针对Colleti...
  • sugar_sugar_sugar
  • sugar_sugar_sugar
  • 2016年12月19日 07:59
  • 4349

Collection集合体系结构图

Collection集合体系结构图
  • u013905744
  • u013905744
  • 2015年03月25日 14:24
  • 1357

Java基础——集合(一)——集合体系、Collection集合

一、集合概述          Java是一种面向对象语言,如果我们要针对多个对象进行操作,就必须对多个对象进行存储。而数组长度固定,不能满足变化的要求。所以,java提供了集合。          ...
  • haovip123
  • haovip123
  • 2015年05月02日 00:09
  • 12504

VB:Collection (集合)对象示例

a
  • nxhujiee
  • nxhujiee
  • 2010年10月19日 10:25
  • 5197

Collection集合 框架图 及 Collections帮助类

查看了一些资料将Collection接口及Map接口的框架总结如下,方便以后学习使用。...
  • yiyiwudian
  • yiyiwudian
  • 2015年06月28日 19:25
  • 903

黑马程序员——集合Collection:体系详述

本文综合了老师的课程内容以及维基百科上的多方面内容,对集合体系中的常见类型及其操作进行了系统的总结。其中包含了Collection通用方法,List、Set、Map等方面,文章的精华内容在对代码的注释...
  • heimawoo
  • heimawoo
  • 2015年09月24日 05:05
  • 798

Android之collection(集合)

Android之collection(集合)               ava Collections Framework是Java提供的对集合进行定义,操作,和管理的包含一组接口,类的体系...
  • Luze_1226
  • Luze_1226
  • 2017年04月13日 16:06
  • 1106
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:JAVA--集合(Collection)
举报原因:
原因补充:

(最多只允许输入30个字)