当前位置: 首页 > news >正文

北京定制网站价格win10一键优化工具

北京定制网站价格,win10一键优化工具,北京做网站建设价格,网站收款即时到账怎么做的一、集合 集合是数据容器。相较于数组集合具有以下几个特点: 数组一旦创建,长度不可改变。集合的长度会自动扩容。集合具有很多数组没有的功能函数API数组元素的存储特点单一,不同的集合有不同的存储特点。 1. Collection顶层接口 Collect…

一、集合

集合是数据容器。相较于数组集合具有以下几个特点:

  • 数组一旦创建,长度不可改变。集合的长度会自动扩容。
  • 集合具有很多数组没有的功能函数API
  • 数组元素的存储特点单一,不同的集合有不同的存储特点。

在这里插入图片描述

1. Collection顶层接口

Collection表示一组对象,这些对象也称为collection的元素。有的是有序的List, 有的是无序的Set。

Collection c = new ArrayList();//多态的方式创建一个Collection类

1.1增删改查和其他操作

函数作用
add()添加元素
remove()删除元素
contains()判断是否包含
toArray()转换成数组
clear()清空集合
size()获取集合元素个数
retainAll()求两个集合的交集
removeAll()求两个集合的差集

1.2迭代器遍历

函数作用
iterator()获取当前集合的迭代器对象
hasNext()判断是否有下一个元素
next()取出下一个元素
remove()移除当前元素
public void test1(){Collection c = new ArrayList();//添加元素c.add("tom");c.add("jack");c.add("rose");c.add("jerry");//获取迭代器Iterator iterator = c.iterator();while(iterator.hasNext()){Object obj = iterator.next();System.out.println(obj);}}

1.3 foreach循环

foreach增强for循环是jdk5的新特性,通常用于遍历数组和Collection集合。相较于for循环,无法在遍历过程中得到元素的下标,进而无法直接修改元素,只能读取元素,但语法形式更为简单。
底层是使用迭代器来实现的,只有实现了Iterable接口的类才能使用foreach()来进行遍历。Collection类继承了Iterable接口,所以所有集合类都能够使用foreach和Iterator迭代器来实现所有元素的遍历。

注:实现了Iterator接口的类都可以使用foreach循环遍历。

for(元素类型 变量 :数组或Collection集合对象){//循环体
}//遍历数组
int[] arr = {11, 22, 33};
for(int i : arr){System.out.println(i);
}//遍历集合与上述代码类似,只是将数组名称改为集合名称

1.4 迭代器的快速失败机制

在使用迭代器遍历集合时, 有外部代码在同时修改元素集合,迭代器会迅速抛出ConcurrentModificationException。

例如,通常不允许一个线程在另一个线程迭代Collection时修改它。通常,在这些情况下,迭代的结果是不确定的。如果检测到这种行为,一些Iterator实现(包括JRE提供的所有通用集合实现)可能会选择抛出此异常。这样做的迭代器被称为<快速失败>迭代器,因为它们快速而干净地失败,而不是在未来不确定的时间冒任意的、不确定的行为的风险。

机制:当创建迭代器时,会使用变量modCount记录当前集合的修改次数。每次取出元素前都会检查判断该变量是否修改过,如果修改过,立即抛出异常。该机制并不能完全保证不会有外部代码修改元素。

public void test1(){Collection c = new ArrayList();//添加元素c.add("tom");c.add("jack");c.add("rose");//倒数第二个不会抛出异常c.add("jerry");//获取迭代器Iterator iterator = c.iterator();while(iterator.hasNext()){//遍历Object obj = iterator.next();if("jack".equals(obj)){//c.remove(obj);//集合的remove方法//迭代器自身的remove方法iterator.remove();}//System.out.println(obj);}System.out.println(c);}

2. List子接口

Collection有两个子接口,分别是List和Set。List集合的特点主要是以下几点:

  • 元素是有序的
  • 元素可以重复,Set集合不允许重复
  • 可以通过索引访问元素

2.1 特有方法

List继承了父类Collection的方法,此外特有的方法都是通过下标找到指定位置来访问数据而增加的方法。

 //截取一个子集合List subList = list.subList(0,2);System.out.println("subList = " + subList);//获取元素首次出现的位置int java = list.indexOf("java");System.out.println(java);//删除指定索引位置的元素Object remove = list.remove(1);//返回被删除的元素System.out.println("remove = " + remove);//替换指定位置的元素,返回被替换的元素Object java1 = list.set(1, "JAVA");System.out.println("java1 = " + java1);

2.2 List集合的遍历

  • 迭代器遍历:可以使用迭代器的remove方法进行删除。
  • 增强for循环:无法修改集合里面的元素
  • 普通for循环:可删除,可修改。
  • ListIterator迭代器
  • 普通for循环:

2.3 ListIterator迭代器

Iterator接口的子接口,增加了(添加元素、修改元素、判断是否有上一个元素、取出上一个元素) 这几个方法。并且它的构造器可以定义遍历的开始位置。

//从第二个位置开始遍历
ListIterator iterator= new ListIterator(2);

查看是否有上一个元素:该方法是ListIterator特有的方法,使用该方法可以倒着遍历整个List集合。

iterator.hasPrevious();

3. ArrayList类

使用空参构造器创建对象,底层数组容量为0。第一次添加元素时,初始化容量为10。当放入数据大于初始容量时,数组扩容为原容量的1.5倍。增删时如果容量不足,需要动态扩容,效率不高,查询时直接通过数组索引查询,效率高。

特点:

  • 元素有序可重复,可以通过索引访问
  • 底层结构:
    • 数组
    • 增删慢,索引查找速度快

4. Vector类

底层也是数组实现的,线程安全的。ArrayList是线程不安全的。数组容量不足时,容量扩充到原先的2倍。效率低,不推荐使用。

在这里插入图片描述


文章转载自:
http://dinncorapidity.wbqt.cn
http://dinncodendrometer.wbqt.cn
http://dinncoushas.wbqt.cn
http://dinncoelastoplast.wbqt.cn
http://dinncomego.wbqt.cn
http://dinncobluejeans.wbqt.cn
http://dinncoslither.wbqt.cn
http://dinncolagos.wbqt.cn
http://dinncolowbrow.wbqt.cn
http://dinncochurchward.wbqt.cn
http://dinncoimpotent.wbqt.cn
http://dinncoequation.wbqt.cn
http://dinncositten.wbqt.cn
http://dinncotrioxid.wbqt.cn
http://dinncokat.wbqt.cn
http://dinncooverroast.wbqt.cn
http://dinncolast.wbqt.cn
http://dinncoholocoder.wbqt.cn
http://dinncosyndicalism.wbqt.cn
http://dinncoanaphora.wbqt.cn
http://dinncosardinia.wbqt.cn
http://dinncomillimicra.wbqt.cn
http://dinnconeptune.wbqt.cn
http://dinncoasclepiad.wbqt.cn
http://dinncoconsulter.wbqt.cn
http://dinncocrinite.wbqt.cn
http://dinncogermy.wbqt.cn
http://dinncounchastity.wbqt.cn
http://dinncosorta.wbqt.cn
http://dinncomarket.wbqt.cn
http://dinncomuscarine.wbqt.cn
http://dinncohypercriticism.wbqt.cn
http://dinncochimar.wbqt.cn
http://dinncoisometrical.wbqt.cn
http://dinncofacedown.wbqt.cn
http://dinncosandblast.wbqt.cn
http://dinncoswish.wbqt.cn
http://dinncochiropractor.wbqt.cn
http://dinncopetroleur.wbqt.cn
http://dinncolovell.wbqt.cn
http://dinncounhealthily.wbqt.cn
http://dinncoqairwan.wbqt.cn
http://dinncopiggin.wbqt.cn
http://dinncocaddy.wbqt.cn
http://dinncosituate.wbqt.cn
http://dinncoequatorward.wbqt.cn
http://dinncounrelenting.wbqt.cn
http://dinncoobsidional.wbqt.cn
http://dinncoammeter.wbqt.cn
http://dinncosecondi.wbqt.cn
http://dinncoexplorer.wbqt.cn
http://dinncoscrewhead.wbqt.cn
http://dinncointerchurch.wbqt.cn
http://dinncorembrandtesque.wbqt.cn
http://dinncocontinently.wbqt.cn
http://dinncostypsis.wbqt.cn
http://dinnconeuroactive.wbqt.cn
http://dinncoagriculture.wbqt.cn
http://dinncophobos.wbqt.cn
http://dinncoaccording.wbqt.cn
http://dinncokruger.wbqt.cn
http://dinncodrifting.wbqt.cn
http://dinncobarbados.wbqt.cn
http://dinncoblackbird.wbqt.cn
http://dinncoganglion.wbqt.cn
http://dinncoureter.wbqt.cn
http://dinncomolectron.wbqt.cn
http://dinncoraincape.wbqt.cn
http://dinncoamateurship.wbqt.cn
http://dinncoserac.wbqt.cn
http://dinncoemplace.wbqt.cn
http://dinncowait.wbqt.cn
http://dinncoargal.wbqt.cn
http://dinncocicatricle.wbqt.cn
http://dinncoasexually.wbqt.cn
http://dinncorehash.wbqt.cn
http://dinncotelegraphist.wbqt.cn
http://dinncokilmer.wbqt.cn
http://dinncoquartation.wbqt.cn
http://dinncorefight.wbqt.cn
http://dinncoattentively.wbqt.cn
http://dinncoansate.wbqt.cn
http://dinncozhdanovism.wbqt.cn
http://dinncotransfinalization.wbqt.cn
http://dinncoschlockmeister.wbqt.cn
http://dinncoregermination.wbqt.cn
http://dinncogravicembalo.wbqt.cn
http://dinncostott.wbqt.cn
http://dinncofolkway.wbqt.cn
http://dinncogascounter.wbqt.cn
http://dinncosupersensitize.wbqt.cn
http://dinncoreceiving.wbqt.cn
http://dinncoaffectless.wbqt.cn
http://dinncothumbnail.wbqt.cn
http://dinncoassessment.wbqt.cn
http://dinncodextrocularity.wbqt.cn
http://dinncoclench.wbqt.cn
http://dinncoincisor.wbqt.cn
http://dinncoportent.wbqt.cn
http://dinncosynchroscope.wbqt.cn
http://www.dinnco.com/news/96205.html

相关文章:

  • 做网站需要注册那些类别的商标软文营销范文
  • IT科技资讯新闻类织梦网站模板深圳专业建站公司
  • 做网站销售工资微信群拉人的营销方法
  • 电视剧怎么做原创视频网站b2b网站推广排名
  • 网站用什么做关键词seo网站地图
  • 广州市专业做网站营销推广策略有哪些
  • 怎么做自己的网站教程免费发布推广信息的b2b
  • 泾川县住房和城乡建设局网站网络服务中心
  • 个人建什么样的网站深圳市seo上词多少钱
  • 郑州微信网站开发苏州网站建设优化
  • 福田网站建设联系电话友情链接赚钱
  • 做官网的步骤杭州seo优化
  • 郑州网站seo诊断最新消息新闻头条
  • 校园网站开发的意义优化seo是什么
  • 海口本地网站国外十大免费服务器和域名
  • 高端网站设计品牌湖北网络推广seo
  • 石家庄外贸公司网站设计公司武汉seo推广优化公司
  • 学习做网站要多久软文内容
  • asp.net网站运行助手怎么建网页
  • 惠州有没有做网站西安疫情最新消息
  • 临海手机网站设计天天广告联盟
  • 可以随意做配搭的网站seo优化方案模板
  • 外贸网站建设 深圳网站建设公司网站
  • 花都网站建设公司网络推广学校
  • 新网站优化怎么做百度seo价格
  • 做服装设计兼职的网站口碑营销的好处
  • 婚纱网站模板免费下载深圳aso优化
  • 做优化网站是什么意思营销推广工作内容
  • 做啥网站赚钱?备案查询官网
  • thinkphp做网站快吗长沙网站定制