zoukankan      html  css  js  c++  java
  • 05-Java 集合类详解

    (1)Java集合-Collection

      A、集合可以理解为一个动态的对象数组,不同的是集合中的对象内容可以任意扩充

      B、集合特点:性能高,容易扩展和修改

      C、Collection的常用子类:List、Set、Queue

    (2)Java集合-List

      A、List接口可以存放任意的数据,而且在List接口中内容是可以重复的

      B、List接口常用子类:ArrayList、 Vector

      C、常用操作:

        判断集合是否为空:boolean isEmpty()

        查找指定的对象是否存在:int indexOf(Object o)

    import java.util.ArrayList;
    import java.util.List;
    
    public class ListDemo01 {
    
        public static void main(String[] args) {
            List<String> lists=null;
            lists=new ArrayList<String>(); //List常用接口子类一arrayList
            lists.add("A");
            lists.add("B");
            lists.add("A");//内容可重复
            for (int i = 0; i < lists.size(); i++) {
                System.out.println(lists.get(i));
            }
            lists.remove(0);
            System.out.println("删除之后-------");
            for (int i = 0; i < lists.size(); i++) {
                System.out.println(lists.get(i));}
    System.out.println("集合是否为空:"+lists.isEmpty());
    System.out.println("B是否存在:"+lists.indexOf("B"));

      结果:

      A

      B

      A

      删除之后-------

      B

      A

      集合是否为空:false

      B是否存在:0  //当前集合的索引,因为刚刚A被删除了,所以此时B位于集合第一个位置,所以为0.若不存在,则-1。

    ArrayList、 Vector功能差不多,下图为二者比较:

     

    (3)Java集合-Set

    A、Set 接口中不能加入重复元素(List可重复),但是可以排序。

    B、Set 接口常用子类:

       散列存放:Hashset

       有序存放:TreeSet

    public static void main(String[] args) {
            Set<String> s=null;
            //s=new TreeSet<String>();//(逻辑)有序
            s=new HashSet<String>();//无序
            s.add("A");
            s.add("B");
            s.add("C");
            System.out.println(s);

    (4)Java集合-Iterator

    A、集合输出的标准操作:标准做法,使用Iterator 接口。

    B、操作原理:Iterator是专门的迭代输出接口,迭代输出就是将元素一个个进行判断,判断其是否有内容,如果有内容则把内容取走。

      

    public static void main(String[] args) {
            List< String> lists=new ArrayList<>();
            lists.add("A");        
            lists.add("B");        
            lists.add("C");
            System.out.println(lists);
            Iterator<String> iter=lists.iterator();
            while(iter.hasNext()){
                String str =iter.next();
                if ("A".equals(str)) {
                    iter.remove();                
                }else System.out.println(str);

      结果:[A, B, C]

      B

      C

    (5)Java集合-Map(为接口存放时,key 都是唯一的。)

      A、保存形式:key--à value 的方式保存。例:小雪:15362489521

      B、常用子类:HashMap:无序存放,key不允许重复

                 Hashtable:无序存放,key不允许重复

    public class MapDemo01 {
    
        public static void main(String[] args) {
            Map<String, String>  map=new HashMap<String, String>();
            map.put("key1", "jikexueyuan");
            map.put("key2", "www");
            map.put("key3", "com");
            map.put("key4", "eoe");
            map.put("key5", "hello");
            String str =map.get("key1");
            System.out.println(str);
            //判断键和值是否存在
            if (map.containsKey("key")) {
                System.out.println("key存在");        
            }else {System.out.println("key不存在");            }
            if (map.containsValue("jikexueyuan")) {
                System.out.println("value存在");
            }else{System.out.println("value不存在");    }
            //输出所有值或键
            Set<String> s=map.keySet();
            Iterator<String> i=s.iterator();
            while (i.hasNext()) {
                System.out.println(i.next());
            }
            
            Collection<String > c=map.values();
            Iterator<String>  i1=c.iterator();
            while (i1.hasNext()) {
                System.out.println(i1.next());    

      结果:

      jikexueyuan

       key不存在

      value存在

      key1

      key2

      key5

      key3

      key4

      jikexueyuan

      www

      hello

      com

      eoe

  • 相关阅读:
    java 整型相除得到浮点型
    Interleaving String
    Insert Interval
    Mashup
    R-TREE
    默认以管理员身份运行VS2013/15/17
    C:malloc/calloc/realloc/alloca内存分配函数
    VS2015快捷键
    C++:UNREFERENCED_PARAMETER用法
    VC++常用数据类型及其操作详解
  • 原文地址:https://www.cnblogs.com/shenxiaolin/p/6017541.html
Copyright © 2011-2022 走看看