zoukankan      html  css  js  c++  java
  • Java List接口

    ---恢复内容开始---

    List接口
    它是一个元素存取有序的集合。
    它是一个带有索引的集合,通过索引就可以精确的操作集合中的元素。
    集合中可以有重复的元素,通过元素的equals方法,来比较是否为重复的元素。
    常用子类有:
    ArrayList集合和LinkedList集合

    常用方法
    例子

    public static void main(String[] args) {
    		List<String>list = new ArrayList<String>();
    		list.add("111");
    		list.add("222");
    		Iterator<String>it =list.iterator();
    		while(it.hasNext()) {
    			System.out.println(it.next());
    		}
    	}
    

       

    Iterator的并发修改异常
    例子

    public static void main(String[] args) {
    		List<String>list = new ArrayList<String>();
    		list.add("111");
    		list.add("222");
    		Iterator<String>it =list.iterator();
    		while(it.hasNext()) {
    			if(it.next().equals("222")) {
    				list.add("333");
    			}
    		}
    	}
    

      


    原因
    在迭代过程中,使用了集合的方法对元素进行操作。导致迭代器并不知道集合中的变化,容易引发数据的不确定性。

    List集合数据存储的常用结构

    堆栈  特点  先进后出

    队列  特点  先进先出

    数组  特点  查找快,增删慢

    链表  特点  增删快,查找慢

    ArrayList是数组结构,LinkedList是链表结构

    public static void main(String[] args) {
    		LinkedList<String>list = new LinkedList<>();
    		list.addLast("d");
    		list.addFirst("c");
    		list.addFirst("b");
    		list.addFirst("a");
    		for(String s:list) {
    			System.out.print(s);
    		}
    		System.out.println();
    		System.out.println(list.isEmpty());
    		System.out.println(list.pop());
    		list.clear();//清空集合
    		System.out.println(list.isEmpty());
    	}
    

      

  • 相关阅读:
    ElasticSearch 高级DSL查询语句
    docker改国内官方镜像
    step1: python & scrapy安装
    step7: 输出到json文件
    step6: item与pipeline
    step5: 编写spider爬取
    step4: Xpath的使用
    step3: 创建jobbole爬虫
    step2: 爬取廖雪峰博客
    解决WAS更新web.xml文件不生效的问题(web_merged.xml是罪魁祸首)
  • 原文地址:https://www.cnblogs.com/cgj1994/p/9763094.html
Copyright © 2011-2022 走看看