1,List与set的区别?

List:元素是有序的,元素可以重复,因为集合体系有索引

set:元素是无序的,元素不可以重复,集合体系没有索引

2,list里面特有的方法:

在制定的位置添加元素add()

在制定位置添加一堆元素addAll()

通过索引获取get(index)

List al= new ArrayList();
al.add("name1");
al.add("name2");
al.add("name3");
for(int i=0;i<al.size();i++)
{
System.out.println(al.get(i));
}

获取元素的位置

System.out.println(al.indexOf("name2"));

subList()包含头不包含未

        List al2=al.subList(1,3);
System.out.println(al2);

根据位置获取元素

listIterator

按照角标移除remove()

按角标设置set()

3,迭代器方法产生的并发访问问题:

list中操作元素的方法有两种:集合的方法,迭代器方法

迭代器在操作list时,再用集合的方法访问就是并发访问(同时访问),

所以说,对同一个集合同时进行两种操作是不被允许的

【个人理解(仅供参考):我是将list中看成有一个指针,一个list只有一个指针,这个指针被迭代器使用的时候,再用集合去操作它,就会破坏迭代器的原来的执行路径,从而导致得到与预想不到的结果。所以就规定了在迭代器对集合操作的时候不可以使用集合的方式在去操作list】

随机推荐

  1. P1194 买礼物(建模)

    P1194 买礼物 题目描述 又到了一年一度的明明生日了,明明想要买B样东西,巧的是,这B样东西价格都是A元. 但是,商店老板说最近有促销活动,也就是: 如果你买了第I样东西,再买第J样,那么就可以只 ...

  2. Linuxshell编程

    重点回顾: 1.由于核心的内存中是受保护的区块,因此我们必须要透过“shell”将我们输入的指令与Kernel沟通,好让Kernel可以控制硬件来正确无误的工作 2.学习shell的原因主要有:文字接 ...

  3. 69、Android 布局中轻松实现图片的全屏、居中、平铺

    public void paint() { if (item.laying_mode != 1)//平铺或者充满 { new AsyncTask<Void, Void, Void>() { ...

  4. Python+Selenium练习篇之6-利用class name定位元素

    有时候,我们在用firepath(不会的请点这里)查看元素的XPath信息,发现没有可以用来定位的id信息,这个时候我们就需要考虑用其他的可用的来定位元素.本文介绍如何通过元素节点中class nam ...

  5. OV7725学习之SCCB协议(一)

    OV7725摄像头只能作为从机,通过SCCB协议配置内置的172个寄存器.因此首先要了解的就是SCCB总线 1.SCCB协议简述 SCCB协议有两线也有三线,两线为SIO_C与SIO_D,三线为SIO ...

  6. mybatis maven 代码生成器(mysql)

    pom.xml <?xml version="1.0" encoding="UTF-8"?> <project xmlns="htt ...

  7. 做一个APP

    前言 有点零乱,但是我想写下来慢慢整理,搭建一个好点的工程-模式MVC, 会包括一些第三方库,动画库,第三方库管理关联,自定义常用控件的管理和关联 1.预编译文件的创建 在build setting ...

  8. 个人环境搭建——搭建jenkins持续构建集成环境

    ---恢复内容开始--- 搭建jenkins持续构建集成环境  要搭建jenkins持续构建集成环境,首先要安装tomcat和JDK:   第一部分,基本说明:   敏捷(Agile) 在软件工程领域 ...

  9. rmmod: can't change directory to “3.4.79+”,no such file or directory

    直接在/lib/modules目录下,在该目录下建立3.4.79+这个文件夹即可

  10. Nodejs项目网页图标的处理

    今天,我要说的是Nodejs中,关于网页图标的处理. 在讲解怎么处理之前,我们的了解一下什么是网页图标.网页图标就是我们网页打开之后,标签页的图标,比如下面这个 前面的小人就是我们博客园的网页图标. ...