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

贵州省贵州省建设厅网站百度推广点击收费标准

贵州省贵州省建设厅网站,百度推广点击收费标准,云南定制化网站建设,今日新游戏开服时间表6 List集合 List系列集合:添加的元素是有序,可重复,有索引 ArrayList: 添加的元素是有序,可重复,有索引LinkedList: 添加的元素是有序,可重复,有索引Vector :是线程安全的&#xff…

6 List集合

  • List系列集合:添加的元素是有序,可重复,有索引
    • ArrayList: 添加的元素是有序,可重复,有索引
    • LinkedList: 添加的元素是有序,可重复,有索引
    • Vector :是线程安全的,速度慢,开发中很少使用

6.1 List集合概述和特点

List集合概述
1、有序集合(也称为序列),用户可以精确控制列表中每个元索的插入位置。用户可以通过整数索引访问元素,并获取列表中的元素
2、与Set集合不同,List集合允许重复的元素

List集合特点
1、有序: 存储和取出的元素顺序一致
2、可重复: 存储的元素可以重复

package ceshi;import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;public class ListDemo {public static void main(String[] args) {//创建集合对象List<String> list = new ArrayList<>();//添加元素list.add("java");list.add("天下");list.add("无敌");list.add("java");System.out.println(list); //[java, 天下, 无敌, java]//迭代器遍历Iterator<String> it = list.iterator();while(it.hasNext()) {String s = it.next();System.out.println(s);/*java天下无敌java*/}}
}

6.2 List集合的特有方法

方法名说明
public void add(int index,E element)该集合中的指定位置上插入元素
public E remove(int index)删除列表中指定位置的元素,返回被删除的元素
public E set(int index,E element)修改指定索引的元素,返回被修改的元素
public E get(int index)返回集合中指定位置的元素
package ceshi;import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;public class ListDemo {public static void main(String[] args) {//创建集合对象List<String> list = new ArrayList<>();//添加元素list.add("java");list.add("天下");list.add("无敌");list.add("java");System.out.println(list); //[java, 天下, 无敌, java]//1、public void add(int index,E element) 	该集合中的指定位置上插入元素list.add(1,"javase");System.out.println(list); //[java, javase, 天下, 无敌, java]//2、public E remove(int index) 	删除列表中指定位置的元素,返回被删除的元素System.out.println(list.remove(1)); //javaseSystem.out.println(list); //[java, 天下, 无敌, java]//3、public E set(int index,E element) 	修改指定索引的元素,返回被修改的元素System.out.println(list.set(0,"java1")); //javaSystem.out.println(list); //[java1, 天下, 无敌, java]//4、public E get(int index) 	返回集合中指定位置的元素System.out.println(list.get(2)); //无敌//for循环遍历for(int i=0;i< list.size();i++) {//5,public E get(int index)	返回集合中指定位置的元素String s = list.get(i);System.out.println(s);/*java1天下无敌java*/}}
}
  • 案例
    在这里插入图片描述

  • 测试类

package ceshi;import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;public class ListDemo {public static void main(String[] args) {//2、创建集合对象List<Student> list = new ArrayList<Student>();//3、创建学生对象Student s1 = new Student("y1",10);Student s2 = new Student("y2",20);Student s3 = new Student("y3",30);//4、学生对象添加到集合list.add(s1);list.add(s2);list.add(s3);//5、遍历集合:迭代器方法Iterator<Student> it = list.iterator();while(it.hasNext()) {Student s = it.next();System.out.println(s.getName()+","+s.getAge());/*y1,10y2,20y3,30*/}//5、遍历集合:for循环for(int i=0;i<list.size();i++) {Student ss = list.get(i);System.out.println(ss.getName()+","+ss.getAge());/*y1,10y2,20y3,30*/}}
}

6.3 ListIterator迭代器

  • Lstlterator:列表迭代器
    • 通过List集合的listterator()方法得到,所以说它是List集合特有的迭代器
    • 用于允许程序员沿任一方向遍历列表的列表迭代器,在迭代期间修改列表,并获取列表中迭代器的当前位置
  • 常用方法
方法名说明
list.listIterator()得到 listIterator 迭代器
E next()返回迭代中的下一个元素
boolean hasNext()如果迭代具有更多元素,则返回true
E previous() [ˈpriːviəs]返回列表中的上一个元素
boolean hasPrevious()如果此列表迭代器在相反方向遍历列表时具有更多元索,则返回true
void add(E e)将指定的元索插入列表
package ceshi;import java.util.ArrayList;
import java.util.List;
import java.util.ListIterator;public class ListIteratorDemo {public static void main(String[] args) {List<String> list = new ArrayList<>();list.add("java");list.add("python");list.add("scala");//通过list集合的listIterator() 方法得到迭代器/*ListIterator<String> lit = list.listIterator();while(lit.hasNext()) {String s = lit.next();System.out.println(s);*//*javapythonscala*//*}System.out.println("---------");//逆向遍历*//*E previous0 	返回列表中的上一个元素boolean hasPrevious() 	如果此列表迭代器在相反方向遍历列表时具有更多元索,则返回true*//*while(lit.hasPrevious()) {String s = lit.previous();System.out.println(s);*//*scalapythonjava*//*}*///获取列表迭代器ListIterator<String> lit = list.listIterator();while(lit.hasNext()) {String s = lit.next();if(s.equals("java")) {lit.add("world");}}System.out.println(list); //[java, world, python, scala]}
}

6.4 foreach(增强for循环)

增强for:简化数组和Collection集合的遍历

  • 实现Iterable接口的类允许其对象成为增强型 for语句的目标
  • 它是JDK5之后出现的,其内部原理是一个Iterator迭代器
  • 格式
for(元素类型  变量名: 数组名或collection集合){ }
//范例
int[] arr = {1,2,3,4,5};
for(int i : arr) {System.out.println(i);
}
  • 范例:
package ceshi;import java.util.ArrayList;
import java.util.List;public class ForDemo {public static void main(String[] args) {//int类型数组int[] arr = {1,2,3,4,5};for(int i : arr) {System.out.println(i);/*12345*/}//String类型数组String[] strArray = {"java","python","scala"};for(String s : strArray) {System.out.println(s);/*javapythonscala*/}//集合List<String> list = new ArrayList<>();list.add("y1");list.add("y2");list.add("y3");for(String lt:list) {System.out.println(lt);/*y1y2y3*/}//判断:内部原理是一个Iterator迭代器for(String s:list) {if(s.equals("y1")) {list.add("y4"); //ConcurrentModificationException:并发修改异常}}}
}

6.5 案例:List集合存储学生对象用三种方式遍历

在这里插入图片描述

  • 测试类
package ceshi;import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;public class ListDemo {public static void main(String[] args) {List<Student> list = new ArrayList<>();Student s1 = new Student("y1",10);Student s2 = new Student("y2",20);Student s3 = new Student("y3",30);list.add(s1);list.add(s2);list.add(s3);//迭代器方式Iterator<Student> it = list.iterator();while(it.hasNext()) {Student s = it.next();System.out.println(s.getName()+","+s.getAge());}System.out.println("----------");//for带索引方式for(int i =0;i<list.size();i++) {Student s = list.get(i);System.out.println(s.getName()+","+s.getAge());}System.out.println("----------");//增强forfor(Student s: list) {System.out.println(s.getName()+","+s.getAge());}}
}

6.6 List集合子类特点

  • ArrayList:底层数据结构数组实现,查询快增删慢
  • LinkedList:底层数据结构链表实现,查询慢增删快
  • 范例:分别用ArrayList和LinkedList存储字符串并遍历
package ceshi;import java.util.ArrayList;
import java.util.Iterator;
import java.util.LinkedList;
import java.util.List;public class ListDemo {public static void main(String[] args) {//1、创建ArrayList集合对象ArrayList<String> arraylist = new ArrayList<>();arraylist.add("java");arraylist.add("python");arraylist.add("scala");//增强forfor(String s: arraylist) {System.out.println(s);}System.out.println("-------");//普通for循环for(int i=0;i< arraylist.size();i++) {String s = arraylist.get(i);System.out.println(s);}System.out.println("-------");//迭代器的方式Iterator<String> it = arraylist.iterator();while(it.hasNext()) {String s = it.next();System.out.println(s);}System.out.println("-------");//2、创建LinkedList集合对象LinkedList<String> linkedList = new LinkedList<>();linkedList.add("a");linkedList.add("b");linkedList.add("c");//增强forfor(String s:linkedList) {System.out.println(s);}System.out.println("-------");//普通forfor(int i=0;i< linkedList.size();i++) {String s = linkedList.get(i);System.out.println(s);}System.out.println("-------");//迭代器Iterator<String> it1 = linkedList.iterator();while(it1.hasNext()) {String s = it1.next();System.out.println(s);}}
}

6.7 LinkedList集合特有方法

方法名说明
public void addFirst(E,e)在该列表开头插入指定的元素
public void addLast(E,e)将指定的元索追加到此列表的末尾
public E getFirst()返回此列表中的第一个元索
public E getLast()返回此列表中的最后一个元素
public E removeFirst从此列表中删除并返回第一个元素
public E removeLast从此列表中删除并返回最后一个元素
package ceshi;import java.util.LinkedList;public class LinkedListDemo {public static void main(String[] args) {//创建集合对象LinkedList<String> linkedList = new LinkedList<>();linkedList.add("java");linkedList.add("python");linkedList.add("scala");System.out.println(linkedList); //[java, python, scala]//1、public void addFirst(E,e) 	在该列表开头插入指定的元素linkedList.addFirst("1");System.out.println(linkedList); //[1, java, python, scala]//2、public void addLast(E,e) 	将指定的元索追加到此列表的末尾linkedList.addLast("5");System.out.println(linkedList); //[1, java, python, scala, 5]//3、public E getFirst() 	返回此列表中的第一个元索System.out.println(linkedList.getFirst()); //1//4、public E getLast() 	返回此列表中的最后一个元素System.out.println(linkedList.getLast()); //5//5、public E removeFirst 	从此列表中删除并返回第一个元素System.out.println(linkedList.removeFirst()); //1System.out.println(linkedList);//[java, python, scala, 5]//6、public E removeLast 	从此列表中删除并返回最后一个元素System.out.println(linkedList.removeLast()); //5System.out.println(linkedList); //[java, python, scala]}
}

文章转载自:
http://episepalous.rymd.cn
http://alienee.rymd.cn
http://irregularity.rymd.cn
http://coring.rymd.cn
http://mastoidectomy.rymd.cn
http://cesti.rymd.cn
http://macrophyte.rymd.cn
http://enzymic.rymd.cn
http://tensely.rymd.cn
http://sarpanch.rymd.cn
http://unmerited.rymd.cn
http://morphactin.rymd.cn
http://aleksandrovsk.rymd.cn
http://alae.rymd.cn
http://feme.rymd.cn
http://scheduling.rymd.cn
http://rabbiteye.rymd.cn
http://choir.rymd.cn
http://dipetalous.rymd.cn
http://advent.rymd.cn
http://hessian.rymd.cn
http://underset.rymd.cn
http://insist.rymd.cn
http://concentrated.rymd.cn
http://blackhearted.rymd.cn
http://windows.rymd.cn
http://retinae.rymd.cn
http://entirely.rymd.cn
http://hunkey.rymd.cn
http://entomotomist.rymd.cn
http://abbreviatory.rymd.cn
http://flatwork.rymd.cn
http://even.rymd.cn
http://writer.rymd.cn
http://cliquism.rymd.cn
http://blate.rymd.cn
http://pectinesterase.rymd.cn
http://antifederalist.rymd.cn
http://impulsively.rymd.cn
http://inviolately.rymd.cn
http://proprioceptor.rymd.cn
http://isoprenaline.rymd.cn
http://colchicine.rymd.cn
http://breadwinner.rymd.cn
http://darkminded.rymd.cn
http://supersedeas.rymd.cn
http://appurtenances.rymd.cn
http://winstone.rymd.cn
http://moralistic.rymd.cn
http://diazonium.rymd.cn
http://isoeugenol.rymd.cn
http://outen.rymd.cn
http://hymnography.rymd.cn
http://perfectability.rymd.cn
http://closest.rymd.cn
http://ketone.rymd.cn
http://patripotestal.rymd.cn
http://telecurietherapy.rymd.cn
http://chug.rymd.cn
http://cyanide.rymd.cn
http://colorature.rymd.cn
http://shelf.rymd.cn
http://checkmate.rymd.cn
http://kwangtung.rymd.cn
http://silly.rymd.cn
http://invulnerable.rymd.cn
http://searcher.rymd.cn
http://bluebonnet.rymd.cn
http://noontime.rymd.cn
http://goramy.rymd.cn
http://solicitation.rymd.cn
http://forthcome.rymd.cn
http://retold.rymd.cn
http://kofu.rymd.cn
http://metasequoia.rymd.cn
http://operation.rymd.cn
http://flexuous.rymd.cn
http://yemen.rymd.cn
http://gaud.rymd.cn
http://unionides.rymd.cn
http://unwelcome.rymd.cn
http://chapiter.rymd.cn
http://semipolitical.rymd.cn
http://nothingness.rymd.cn
http://opster.rymd.cn
http://closeness.rymd.cn
http://cinemicrography.rymd.cn
http://absorbent.rymd.cn
http://carpentry.rymd.cn
http://conquerable.rymd.cn
http://jesuitism.rymd.cn
http://photronic.rymd.cn
http://patrimony.rymd.cn
http://millicurie.rymd.cn
http://eulogy.rymd.cn
http://conferrale.rymd.cn
http://income.rymd.cn
http://scud.rymd.cn
http://acgb.rymd.cn
http://coequality.rymd.cn
http://www.15wanjia.com/news/102030.html

相关文章:

  • 深圳有哪些做网站的公司好深圳外贸seo
  • python php 网站开发网络推广外包搜索手机蛙软件
  • 做网站用虚拟主机怎么样沈阳网站推广优化
  • wordpress调用视频播放器杭州seo排名费用
  • wps做网站百度宣传广告要多少钱
  • flash怎么做电子书下载网站网络营销和推广的方法
  • 说说对网站推广的看法和想法网络seo优化公司
  • 济南商城网站建设多少钱网站建设企业咨询
  • 外包什么意思seo矩阵培训
  • 做 暧视频在线观看网站seo排名关键词
  • 网站维护要多久企业网站定制开发
  • 做网站站长先把作息和身体搞好河北百度seo
  • 表白网站怎样做有创意seo营销的概念
  • 网站建设技术部奖惩制度上海百度seo网站优化
  • 外贸网站推广日本比分预测
  • 外国电商设计网站有哪些深圳全网营销型网站
  • 郑州门户网站建设关键词挖掘网站
  • 道客网站建设推广公关团队
  • wordpress要哪些运行库百度seo公司哪家好一点
  • 公司做网站的费用用途写什么软件开发工程师
  • 如何学习网站开发网络营销策略有哪五种
  • 国内精品网站建设如何自己创建一个网站
  • 网站开发的经济可行性超级外链推广
  • 猎头公司招聘信息合肥品牌seo
  • 温州高端网站建设公司哪家好百度官网app
  • 企业网站开发实训目的关键词排名快照优化
  • 苏州做网站公司哪家好百度竞价托管代运营
  • 广告联盟没网站可以做吗网络推广属于什么专业
  • 安装网站提示dir中国推广网
  • wordpress看文网站seo网站推广是什么意思