java集合的简单使用

/*

  list接口      ArrayList 采用异步处理方式,性能高,但属于非线程安全      Vector    采用同步处理方式,性能低,但属于线程安全      当程序考虑线程安全的时候选Vector,其他选择ArrayList,速度快,性能高

   set接口不能加入重复元素,(记忆:s开头same反而不同),但是可以排序   set接口的常用子类        散列存放:HashSet(哈希的话没有排序)        有序存放:TreeSet(有序的)

  Iterator接口  集合输出的标准操作,使用Iterator接口  操作原理:迭达输出就是将元素一个个进行判断是否有内容,如果有内容就把内容取出

  Map接口  key--->value的方式保存  常用子类   HashMap:无序存放,key不允许重复   Hashtable:无序存放,key不允许重复  

  public static void main(String[] args) {

        //list添加的数据可以重复,非线程安全,速度快
        List<String> list=null;
        List<String> list1=null;
        list=new ArrayList<>();
        list.add("A");
        list.add("A");
        list.add("B");
        System.out.println(list);//[A, A, B]
        for (int i = 0; i <list.size(); i++) {
            System.out.println(list.get(i));
            //A
            //A
            //B
        }
        System.out.println("移除了第一个元素之后为");
        list.remove(0);
        for (int i = 0; i <list.size(); i++) {
            System.out.println(list.get(i));
            //此时打印 A B
        }
        System.out.println("元素是否为空"+list.isEmpty());//false
        System.out.println(list.indexOf("A")); //此时A的下标为0

        System.out.println("----------------------------");
        list1=new Vector<>();//线程安全,但速度慢
        list1.add("a");
        list1.add("b");
        list1.add("c");
        for (int i = 0; i <list1.size(); i++) {
            System.out.println(list1.get(i));
            //此时打印 a b c
        }
        System.out.println("----------------------------");

        Set<String> set=new HashSet<>();
        set.add("A");
        set.add("B");
        set.add("C");
        set.add("D");
        set.add("E");
        System.out.println(set);//[D, E, A, B, C]没有顺序

        set=new TreeSet<>();
        set.add("a");
        set.add("b");
        set.add("c");
        set.add("d");
        set.add("e");
        System.out.println(set);//[a, b, c, d, e]有顺序

        System.out.println("----------------------------");
        List<String>list3=new ArrayList<>();
        list3.add("xiaoli");
        list3.add("koky");
        list3.add("lucy");
        list3.add("jack");
        //System.out.println(list3);
        Iterator<String> iterator=list3.iterator();
        while (iterator.hasNext()) {
            String str=iterator.next();
            if ("lucy".equals(str)) {
                //list3.remove(2);//error 迭代输出时候不能list删除元素
                iterator.remove();//迭代的删除
            }
            else {

                //System.out.println(iterator.next());
                System.out.println(str);
            }
        }

        System.out.println("---------------------");
        Map<String, String>map=new HashMap<>();
        map.put("name", "jack"); //map的话添加通过put,不是list,set的add
        map.put("address", "beijing");
        map.put("phone", "123456");
        String key=map.get("name");//通过取key
        System.out.println(key);   //输出value

        //怎么样判断key或者value是否存在?
        if (map.containsKey("address")) {
            System.out.println("key存在");
        }
        else {
            System.out.println("key不存在");

        }
        if (map.containsValue("beijing1")) {
            System.out.println("value存在");
        }
        else
        {
            System.out.println("value不存在");
        }

        //怎么取出全部的key和value呢?
        Set<String>s=map.keySet();
        Iterator<String> i=s.iterator();
        while (i.hasNext()) {
            System.out.println(i.next());    //打印全部的key,因为是set,没有顺序
        }

        Collection<String>c=map.values();
        Iterator<String> i1=c.iterator();
        while (i1.hasNext()) {
            System.out.println(i1.next());    //打印全部的value
        }

    }

}
时间: 2024-11-09 21:49:38

java集合的简单使用的相关文章

java集合-List简单介绍

List为一个接口,直接继承Collection接口,对比他们的接口变化:除了Collection接口中size(),isEmpty()等方法,其增加了基于下标index的一系列方法,摘抄部分接口方法: get(int) set(int, E) add(int, E) remove(int) indexOf(Object) lastIndexOf(Object) subList(int, int) 我们简单看一下ArrayList, 首先看一下成员变量 private static final

Java集合框架中List接口的简单使用

Java集合框架可以简单的理解为一种放置对象的容器,和数学中的集合概念类似,Java中的集合可以存放一系列对象的引用,也可以看做是数组的提升,Java集合类是一种工具类,只有相同类型的对象引用才可以放到同一个集合中,否则是不能放进去的: 集合可以对元素进行简单快速的查找.插入.删除操作 某些集合可以有<key value>映射的关系 数组的长度是固定的,而集合的长度是跟随元素的个数动态变化的,灵活性和扩展性都比数组更加优越 数组只能存放基本类型的数据,而集合存放的是对象引用类型的 数组只能通过

Java—集合框架List

集合的概念 现实生活中:很多的事物凑在一起 数学中的集合:具有共同属性的事物的总和 Java中的集合类:是一种工具类,就像是容器,存储任意数量的具有共同属性的对象 集合的作用 在类的内部,对数据进行组织(针对作用与意义一样的属性,将他们放到一个集合中) 简单而快速的搜索大数量的条目 有的集合接口,提供了一系列排列有序的元素,并且可以在序列中快速的插入或删除有关元素 有的集合接口,提供了映射关系,可以通过关键字(key)去快速查找到对应的唯一对象,而这个关键字可以是任意类型 与数组相比 数组的长度

【Java集合源码剖析】HashMap源码剖析

转载请注明出处:http://blog.csdn.net/ns_code/article/details/36034955 HashMap简介 HashMap是基于哈希表实现的,每一个元素是一个key-value对,其内部通过单链表解决冲突问题,容量不足(超过了阀值)时,同样会自动增长. HashMap是非线程安全的,只是用于单线程环境下,多线程环境下可以采用concurrent并发包下的concurrentHashMap. HashMap 实现了Serializable接口,因此它支持序列化,

JAVA集合框架

收藏 查看我的收藏 146有用+1 56 编辑 Java,是由Sun Microsystems公司于1995年5月推出的Java程序设计语言和Java平台的总称.用Java实现的HotJava浏览器(支持Java applet)显示了Java的魅力:跨平台.动态的Web.Internet计算.从此,Java被广泛接受并推动了Web的迅速发展,常用的浏览器现在均支持Java applet.集合框架是为表示和操作集合而规定的一种统一的标准的体系结构.任何集合框架都包含三大块内容:对外的接口.接口的实

Java集合源码学习笔记(三)LinkedList分析

前面学习了ArrayList的源码,数组是顺序存储结构,存储区间是连续的,占用内存严重,故空间复杂的很大.但数组的二分查找时间复杂度小,为O(1),数组的特点是寻址容易,插入和删除困难.今天学习另外的一种常用数据结构LinkedList的实现,LinkedList使用链表作为存储结构,链表是线性存储结构,在内存上不是连续的一段空间,占用内存比较宽松,故空间复杂度很小,但时间复杂度很大,达O(N),链表的特点是寻址困难,插入和删除容易.所有的代码都基于JDK 1.6. >>关于LinkedLis

java集合框架22

思想:在面向对象的思想里,一种数据结构被认为是一种容器.在本质上来讲是一个类,提供方法支持查找,插入和删除等等操作. Java集合框架支持以下俩种类型的容器: 存储一个元素集合,简称为集合Collection 存储键值对,称为图Map 集合collection 三种主要类型 : 规则集(set) , 线型表(List) , 队列(Queue) set: 存储一组不重复的数据 List: 存储由元素构成的有序集合 Queue: 存储先进先出方式处理的对象 细说Collection接口: 它是处理对

Java集合与框架总结与学习

林炳文Evankaka原创作品.转载请注明出处http://blog.csdn.net/evankaka 本文将主要讲解Java中集合的使用与区别,主要讲List.Set.Map的原理.使用方法.注意事项等. 一.Collection与Collectons的区别 Java集合框架是Java语言的重要组成部分,它包含了系统而完整的集合层次体系,封装了大量的数据结构的实现.深刻理解Java集合框架的组成结构及其中的实现类和算法,能极大提高程序员编码的能力.本章讲述Java集合框架,主要包括集合框架的

Java提高篇(三六)-----java集合细节(二):asList的缺陷

在实际开发过程中我们经常使用asList讲数组转换为List,这个方法使用起来非常方便,但是asList方法存在几个缺陷: 一.避免使用基本数据类型数组转换为列表 使用8个基本类型数组转换为列表时会存在一个比较有味的缺陷.先看如下程序: public static void main(String[] args) { int[] ints = {1,2,3,4,5}; List list = Arrays.asList(ints); System.out.println("list'size:&