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. P3402 最长公共子序列(nlogn)

    P3402 最长公共子序列 题目背景 DJL为了避免成为一只咸鱼,来找Johann学习怎么求最长公共子序列. 题目描述 经过长时间的摸索和练习,DJL终于学会了怎么求LCS.Johann感觉DJL孺子 ...

  2. 44、gridview实现下拉刷新、上拉加载更多(最简单实现上下拉操作的开源工程!)

    1.工程加入以下两个文件夹:(参考:https://github.com/jingchenUSTC/PullToRefreshAndLoad) (待会我会将demo打包上传) 2.这个demo只有一个 ...

  3. 【Candy】cpp

    题目: There are N children standing in a line. Each child is assigned a rating value. You are giving c ...

  4. Windows API 学习记录1

    这里面的好多函数不能死记硬背,知道有这个函数就行,等用到了,再回来细看 一.窗口管理函数包括以下几类: 按钮函数(Button) Microsoft提供了对话框和控制来支持应用程序与用户之间的交互通讯 ...

  5. Visual C++斗地主游戏网络版源代码

    说明:VC++ 6.0写的网络版斗地主游戏,程序基于directx SDK开发,因此你在编译时需要引入相应文件才可以,本斗地主可以支持双人对战.网络对战,游戏随机产生地主,动画发牌,界面也不错,还有声 ...

  6. jquery版右下角弹窗效果

    <!DOCTYPE html> <html> <head lang="en"> <meta charset="UTF-8&quo ...

  7. ruby 制作自己的gem包

    在ruby工程目录下新建一个文件:crowdSystem.gemspec.需要在lib目录下存在同一名称的ruby库文件:crowdSystem.rb

  8. Unity3D 绘制扇形/环形

    using UnityEngine; using System.Collections; using System.Collections.Generic; public class Cone : M ...

  9. BZOJ-1038 [ZJOI2008]瞭望塔

    先求半平面交,然后建塔的地方肯定是在半平面交的交点上或者是在地面线段的交点上. #include <cstdlib> #include <cstdio> #include &l ...

  10. [SDOI2009][bzoj1877] 晨跑 [费用流]

    题面: 传送门 思路: 一个点只能走一回,路径不能相交...... 显然可以转化为网络流的决策来做 我们构建一个网络,令其最大流等于最大的跑步天数即可 怎么构造呢? 对于每个点只能走一次的限制,可以考 ...