zoukankan      html  css  js  c++  java
  • java-集合(二)

    List集合
    List:元素是有序的,元素可以重复
    
      ArrayList al=new ArrayList();
    
    增 加 : al.add();
    在指定位置添加  al.(index,"");
    
    删除指定位置元素 al.remove(index);
    修改元素 a1.set(index,"")
    通过 角标获取元素 al.get(index);
        获取所有元素:
        for(int x=0;x<al.size();x++)
        {
            al.get(x)
         }
    
        第二种方式:
    
         Iterator it=a1.iterator();
           while(it.hasNext())
           {
                 it.next();
    
            }
    
    通过indexof获取对象的位置:
           al.indexof("字符串");
    
    获取列表中两个位置之间的数:返回List
         List sub=al.subList(1,3)返回角标1和3之间的数
     在迭代集合过程中,不能对集合进行其他操作,如添加删除等,这时就需要迭代器可以对迭代器的对象进行操作,但是由于Iterator迭代器只有 remove功能,所以建议使用其子接口ListIterator,它具备删除 remove 添加 add 修改 set 等功能,但此功能是List特有
     ListIterator列表迭代器:是List集合特有的迭代器,是Iterator的子接口。可以对集合列表进行各种操作。
       ListIterator it=a1.ListIterator();
           while(it.hasNext())//正向遍历
           {
                 it.next();
                it.set();//修改
            }
    
       逆向遍历 
       it.hasPrevious












    LinkedList:底层使用的是链表结构。特点:增删速度快,但是查询稍慢  不同步
    ArrayList :底层使用是的数组结构。特点:查询速度很快,但是增删稍慢。 同步的
    Vecctor:底层使用是的数组结构。是同步的
    
    Vector 使用:
    
    Vector v=new Vector();
    v.add();
    v.add();
    
    Enumeration en=new Enumeration ()
    
    while(en.hasMoreElements())
    {
       en.nextElement();
    }
    
    
    LinkedList()集合;
    特有方法:
    addFirst();往前添加
    addlast(0;往后添加
    
    getFirst();//获取头值,永远是第一个值
    getLast();//获取尾值
    
    removeFirst();//删除并返回头元素  出现NuSuchElementException异常
    removeLast();//删除并返回尾元素
       
    1.6中出现了替代方法:
    添加
    offerFirst()
    offerlast()
    获取
    peekFirst()
    peekLast()
    删除
    pollfirst()
    polllast()
      LinkedList llist=new LinkedList();
    
    
    练习:
    堆栈:先进后出  被子
    堆栈:先进先出  水管
    
    class duilie{
    
      private LinkedList link;
      duilie{
         link = new LinkedList();
       } 
      public void myadd(Object obj){
       
        link.addlast(obj);
      } 
    
     public Object myget(){
       
        return   link.removelast();
      } 
    
     public boolean isnull(){
       
       return   link.isEmpty();
      } 
    
    }
    







  • 相关阅读:
    linuxepoll研究 Geek_Ma 博客园
    socklen_t 类型 blueliuyun的专栏 博客频道 CSDN.NET
    自己动手写web服务器一(浏览器的访问信息) 任天胜的个人空间 开源中国社区
    UNIX Domain Socket IPC blueliuyun的专栏 博客频道 CSDN.NET
    How to use epoll? A complete example in C
    gzip头部格式 任天胜的个人空间 开源中国社区
    CWnd与HWND的区别与转换
    MFC 框架各部分指针获取方式
    windows 注册表的编程
    VS2010创建C++项目类向导和智能感知不可用
  • 原文地址:https://www.cnblogs.com/aipohoo/p/5398534.html
Copyright © 2011-2022 走看看