Java SE Collection

来源:互联网 发布:俄罗斯历史书籍知乎 编辑:程序博客网 时间:2024/05/17 23:12

集合

  • 储存对象,长度可变(数组初始化后长度不可变
  • 集合类比数组强大,类似于包装类和基本数据类型

两大接口

Collection

List :可重复放对象、有序
Set :不能重复放对象、按照哈希算法的结果存放
Queue :队列
SortedSet :可对集合排序

Map 映射

SortedMap :可对集合数据排序


collection 接口

add(Object obj)          addAll(Collection c)clear()               retainAll(Connection c)//delete diffrent from ccontains(Object obj)       containsALl(Collection c)isEmpty()Iterator  //return a iterator objectremove(Object obj)        removeAll(Collection c) int size()toArray()//return Object[] 

搞一个带有泛型的小列子

public class Demo{    public static void main(String[] args)    {        Collection <String> c=new ArrayList<>();        c.add("hello world");        c.add("java is the best language in the world");        System.out.println(c);    }}输出:hello world, java is the best language in the world]

提到容器无论是数组还是集合就想搞一件事情,就是存入与取出,遍历算法应运而生。那么collection如何进行遍历呢?

  • 传统的for循环
  • Iterator 迭代器 这是一个对象 Iterator it =arrylist.iterator();接口方法产生的对象
  • for each 增强for循环

    EG:

 public class Demo{    public static void main(String[] args)    {        List<String> list=new ArrayList();        list.add("hello");        list.add("world");        list.add("welcome");        list.add("thanks");        System.out.print(list)        /*遍历输出*/        //首选迭代器Iterator        Iterator it =list.iterator();        while(it.hasNest())        {             System.out.print("迭代输出:"+it.next())        }        //对对象使用增强for循环        for(String str:list)//str is a parameter        {            System.out.println("fore集合迭代输出:"+str)        }    }            //传统的for方法   for方法内部实例化 Iterator对象            int=0;            for(Iterator it=list.iterator();i<list.size();i++)            {                System.out.println("输出:"+it.next());            }        //利用数组进行遍历输出        Object[] object=list.toArray();        for(Object  obj:object)        {            System.out.println("输出:"+obj);        }}
原创粉丝点击