zoukankan      html  css  js  c++  java
  • java集合

    目录
    Collection

    常用方法:

    • boolean add(E e)
    • boolean addAll(Collection c)
    • void clear() 清除集合里的所有元素,将集合长度变为0
    • boolean contains(E e)
    • boolean containsAll(Collection c)
    • boolean isEmpty()
    • Iterator iterator() 返回一个Iterator对象用于遍历集合
    • boolean remove(E e)
    • boolean removeAll(Collection)
    • boolean retainAll(Collection c) 从集合中删除集合c里不包含的元素
    • int size()
    • Object toArray() 将集合转换为数组
    import java.util.*;
      class  CollectionDemo
      {
          public static void main(String[] args) 
          {
              ArrayList tree= new ArrayList();
              tree.add("杨树");
              tree.add("桃树");
              tree.add("柳树");
              tree.add("梨树");
              ArrayList fruiter =new ArrayList();
              fruiter.add("桃树");
              fruiter.add("葡萄树");
              fruiter.add("梨树");
              fruiter.add("杏树");
              tree.retainAll(fruiter);
              System.out.println(tree);
          }
      }
      //运行结果 [桃树, 梨树]
    Iterator

    常用方法

    • boolean hasNext()
    • Object next() 返回集合里的下一个元素
    • void remove()返回集合里next()上一次返回的元素
    import java.util.*;
     class  CollectionDemo
     {
         public static void main(String[] args) 
         {
             ArrayList tree= new ArrayList();
             tree.add("杨树");
             tree.add("桃树");
             tree.add("柳树");
             tree.add("梨树");
             Iterator it=tree.iterator();
             while (it.hasNext())
             {
                 System.out.println(it.next());
             }
         }
     }
     /*
     杨树
     桃树
     柳树
     梨树
     */
    List

     常用方法

    • void add(int index,E element)
    • boolean addAll(int index,Collection c)
    • E get(int index) 返回index索引的元素
    • int indexOf(Object o)返回元素o第一次出现的索引
    • int lastIndexOf(Object o)
    • Object remove(int index)删除并返回index索引处的元
    • E set(int index,E element)将索引index的元素替换为element并返回新元素。
    • List subList(int fromIndex,int toIndex)包含头不包含尾
    ListIterator

    ListIterator接口

    ListIterator是接口Iterator子接口

    方法摘要

    • boolean hasPrevious() 返回该迭代器关联的集合是否还有上一个元素
    • E previous返回列表的前一个元素
    • void add(E e)将指定元素插入列表
    • void remove()
    import java.util.*;
    class  CollectionDemo
    {
        public static void main(String[] args) 
        {
            ArrayList tree= new ArrayList();
            tree.add("杨树");
            tree.add("桃树");
            tree.add("柳树");
            tree.add("梨树");
            ListIterator li=tree.listIterator();
            while (li.hasNext())
            {
                System.out.println(li.next());
            }
            while (li.hasPrevious())
            {
                System.out.println(li.previous());
            }
    
        }
    }
    ArrayList
    LinkedList

    LinkedList特有方法

    • addFirst()
    • addLast()
    • getFirst()
    • getLast()
    • removeFirst()
    • removeLast()获取元素并且删除元素如果集合中没有元素,会出现NoSuchElementException异常
    • offerFirst()
    • offerLast()
    • peekFirst()
    • peekLast()
    • pollFirst()
    • pollLast()获取元素并且删除元素如果没有元素则返回null
    import java.util.LinkedList;
    
    public class QueueDemo {
        public static void main(String[] args){
            Queue q =new Queue();
            for(int x=0;x<4;x++){
                q.myAdd("abcd"+x);
            }
            while(!q.isNull()){
                System.out.println(q.get());
            }
        }
    
    }
    class Queue{
        private LinkedList<String> link =new LinkedList<String>();
        public void myAdd(Object obj){
            link.addFirst((String) obj);
        }
        public Object get(){
            return link.removeLast();
        }
        public boolean isNull(){
            return link.isEmpty();
        }
    }
    Stack
    Vector

    Vector:底层是数组数据结构。线程同步,被ArrayList替代。可变数组100%延长。

    Vector通过枚举实现遍历

    import java.util.Enumeration;
     import java.util.Vector;
     
     public class VectorDemo {
         public static void main(String[] args){
             Vector<String> v =new Vector<String>();
             v.add("abc");
             v.add("def");
             v.add("gh");
             Enumeration<String> e =v.elements();
             while(e.hasMoreElements()){
                 System.out.println(e.nextElement());
             }
         }
     }
    Properties

     Properties表示了一个持久的属性集。

    常用方法:

    1. Object setProperty(String key,String value)
    2. String getProperty(String key) 根据键值获取值
    3. Set<String> stringPropertyNames() 返回属性列表的键值集
    4. void list(PrintStream out)将属性列表输出到指定的输出流中
    5. void list(PrintWriter out)将属性列表输出到指定的输出流中
    6. void load(InputStream isStream)从输入流中读取属性列表
    7. void load(Reader reader)从输入字符流中读取属性列表
    8. void store(OutputStream out,String coments)
    9. void store(Writer writer,String comments)
    Arrays

    1.asList方法 :可以将数组转换为List集合。注:转换为List集合不能使用List的增删方法。

    如果数组中的元素都是对象,那么变成集合时。数组中的元素就直接转换成集合
    如果数组中的元素都是基本数据类型 那么会将该数组作为集合中的元素存在

    import java.util.Arrays;
     import java.util.List;
     
     public class ArraysDemo {
         public static void main(String[] args){
             String[] arr ={"abc","cc","kkkk"};
             
             List<String> li =Arrays.asList(arr);
             
             System.out.println(li);//[abc, cc, kkkk]
             int[] arr2 ={2,3,5};
             List li2 =Arrays.asList(arr2);
             
             System.out.println(li2);//[[I@6bade9]
             
             System.out.println(li.contains("abc"));//true
         }
     }

    2.sort方法 可以对基本数据类型的数组或者数组的一部分进行排序 也可以对对象进行自然排序

     示例:已知文件a.txt文件中的内容为“bcdeadferwplkou”,请编写程序读取该文件内容,并按照自然顺序排序后输出到b.txt文件中。即b.txt中的文件内容应为“abcd…………..”这样的顺序。

    import java.io.FileReader;
    import java.io.FileWriter;
    import java.io.IOException;
    import java.util.Arrays;
    
    public class Test2 {
        public static void main(String[] args){
            FileReader fr =null;
            FileWriter fw =null;
            try{
                fr =new FileReader("a.txt");
                fw =new FileWriter("b.txt");
                char[] buf =new char[1024];
                int i =0;
                while((i=fr.read(buf))!=-1){
                    Arrays.sort(buf,0,i);
                    fw.write(buf);
                }
            }catch(IOException e){
                e.printStackTrace();
            }finally{
                try{
                    if(fr!=null)
                        fr.close();
                }catch(IOException e){
                    e.printStackTrace();
                }try{
                    if(fw!=null)
                        fw.close();
                }catch(IOException e){
                    e.printStackTrace();
                }
            }
        }
    
    }

    3.toString()方法 数组的字符串表现形式

  • 相关阅读:
    GPU
    Windows系统之hosts文件
    条形码定位算法
    entity framework extended library , bulk execute,deleting and updating ,opensource
    sharepoint 2013 sp1
    windows azure programing
    windows azure tools for mac
    online web design tool
    toastr
    sharepoint online
  • 原文地址:https://www.cnblogs.com/malinkang/p/3037941.html
Copyright © 2011-2022 走看看