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

云南百度小程序开发站长之家seo工具包

云南百度小程序开发,站长之家seo工具包,网站开发未来,信阳网络营销公司集合体系结构 Collection 单列集合 包含List Set List 包含ArrayList LinkedList Set包含HashSet TreeSet HashSet包含LinkedHashSet List系列集合:添加的元素是有序的、可重复、有索引 Set系列集合:添加的元素是无序的、不重复、无索引 Collectio…

集合体系结构

Collection 单列集合

包含List Set

List 包含ArrayList LinkedList

Set包含HashSet TreeSet

HashSet包含LinkedHashSet

List系列集合:添加的元素是有序的、可重复、有索引

Set系列集合:添加的元素是无序的、不重复、无索引

Collection是单列集合的祖宗接口,它的功能是全部单列集合都可以继承使用的

    public static void main(String[] args) {//Collection是一个接口,我们不能直接创建它的对象Collection<String> coll=new ArrayList<>();//1.添加元素/*细节1.如果王List里添加元素,方法总是返回true 因为List允许元素重复细节2.如果往Set李添加元素,不存在返回true,存在返回falseSet系列集合不允许重复* */coll.add("aaa");coll.add("bbb");coll.add("ccc");coll.add("ddd");System.out.println(coll);//2.清空
//        coll.clear();
//        System.out.println(coll);//3.删除//因为Collection里面定义的方法是共性的方法,所以不能通过索引进行删除,智能通过元素的对象进行删除/*方法会有一个布尔类型的返回值,true删除成功,false失败* */coll.remove("aaa");System.out.println(coll);//4.判断元素是否包含//底层是依赖equals方法进行判断是否存在的//所以要判断自定义对象是否存在时候,要重新equals方法System.out.println(coll.contains("bbb"));//5.判空boolean empty = coll.isEmpty();System.out.println(empty);//6.获取集合的长度int size = coll.size();System.out.println(size);}

Collection的遍历方式

迭代器遍历

特点:迭代器不依赖索引

迭代器在Java中的类是Iterator,迭代器是集合专用的遍历方式

Collection<Integer> collection= new ArrayList<>();
collection.add(1);
collection.add(2);
collection.add(3);
Iterator<Integer> it=collection.iterator();
while (it.hasNext()){int i=it.next();System.out.print(i+"  ");
}

细节注意:

1.报错NoSuchElementException

2.迭代器遍历完毕,指针不会复位

3.循环中只能用一次next方法

4,迭代器遍历时,不能用集合的方法进行添加或者删除

增强for遍历

增强for的底层就是迭代器,为了简化迭代器的代码书写的

所有的单列集合和数组才能用增强for遍历

格式:

for(元素的数据类型 变量名:数组或者集合){

}

for(String s : list){

}

public static void main(String[] args) {Collection<String> coll = new ArrayList<>();coll.add("zhangsan");coll.add("lisi");coll.add("wangwu");for (String s : coll) {System.out.println(s);}
}

细节:

修改增强for中的变量,不会改变集合中原来的数据

Lambda表达式遍历

    public static void main(String[] args) {Collection<String> coll = new ArrayList<>();coll.add("zhangsan");coll.add("lisi");coll.add("wangwu");/*      coll.forEach(new Consumer<String>() {@Override//s 是以此表示集合的每一个数据public void accept(String s) {System.out.println(s);}});*/coll.forEach(s -> System.out.println(s));}
}

List中常见的方法和遍历方式

//List集合中的两个删除的方法
//1.直接删除元素
//2.通过素银进行删除//1.创建集合并添加元素
//1.创建一个集合
List<String> list =new ArrayList<>();//2.添加元素
list.add("a");
list.add("b");
list.add("c");//void add(int index,E element);在指定索引位置添加指定的元素
//细节:
/*
原来索引上的元素会依次往后移
* */
list.add(1,"QQQ");//remove
String remove = list.remove(0);
System.out.println(remove);//set
String  aaa = list.set(0, "aaa");
System.out.println(aaa);//get
String s = list.get(0);
System.out.println(s);//3.打印集合
System.out.println(list);

List集合的五种遍历方式

        //创建集合List<String> list = new ArrayList<>();list.add("aaa");list.add("bbb");list.add("ccc");list.add("ddd");list.add("eee");/* //1.迭代器遍历Iterator<String> iterator = list.iterator();while (iterator.hasNext()){String next = iterator.next();System.out.println(next);}*///2.增强for/*    for (String str : list) {System.out.println(str);}*///3.Lambda表达式
/*        list.forEach(s-> System.out.println(s));*///4.普通for/*      for (int i = 0; i < list.size(); i++) {String s = list.get(i);System.out.println(s);}*///5.列表迭代器//获取一个列表迭代器对象,同样的里面的指针也是指向零索引ListIterator<String> it = list.listIterator();while (it.hasNext()){String next = it.next();if ("bbb".equals(next)){it.add("qqq");}System.out.println(next);}System.out.println(list);

遍历方式比较

迭代器遍历:在遍历的过程中需要删元素,请使用迭代器

列表迭代器:在遍历的时候需要添加元素,请使用列表迭代器

增强for,Lambda:仅仅想遍历

普通for:如果遍历的时候想操作索引

Set系列集合

无序:存取顺序不一致

不重复:可以去除重复

无索引:没有带索引的方法,所以不能使用普通for遍历,也不能通过索引获取元素

Set集合的实现类

HashSet:无序,不重复,无索引

LinkedHashSet:有序,不重复,无索引

TreeSet:可排序,不重复,无索引

        //1.创建Set集合对象Set<String> s = new HashSet<>();//2.添加元素s.add("aaa");s.add("bbb");s.add("ccc");s.add("ddd");
//        s.add("aaa");3.遍历//迭代器遍历Iterator<String> iterator = s.iterator();while (iterator.hasNext()) {String next = iterator.next();System.out.println(next);}//增强forfor (String s1 : s) {System.out.println(s1);}//Lambda表达式s.forEach(a -> System.out.println(a));

HshSet底层采取哈希表存储数据

TreeSet集合默认的规则:对于字符、字符串类型,按照ASCII码表中的顺序进行排序

TreeSet的两种排序方式

1.自然排序

类里面实现Comparable接口里面的方法

@Override
public int compareTo(Student o) {//指定排序的规则//按照年龄的升序进行排序return    this.getAge()-o.getAge();}

2.比较器排序

TreeSet<String> ts = new TreeSet<>((o1, o2) -> {int i = o1.length() - o2.length();i = i == 0 ? o1.compareTo(o2) : i;return i;
});
TreeSet<String> ts = new TreeSet<>(new Comparator<String>() {@Overridepublic int compare(String o1, String o2) {int i = o1.length() - o2.length();i = i == 0 ? o1.compareTo(o2) : i;return i;}
});

使用场景

1.如果想要集合中的元素可重复

用ArrayList基于数组的

2.如果想要集合中的元素可重复,而且当前的增删操作明显多于查询

用LinkedList,基于链表的

3.如果想对集合中的元素去重

用HashSet,基于哈希表的

4.如果想对集合中的元素去重,而且保重存取顺序

用LinkedHashList,基于哈希表和双链表,效率低于HashSet

5.如果想对集合中的元素进行排序

用TreeSet,基于红黑树,后续可以用List集合实现排序

http://www.mnyf.cn/news/37715.html

相关文章:

  • 网站建设的实验总结打开百度网站
  • 怎么看网站后台网页尺寸百度网站下载安装
  • 响应式网站需要单独的网址吗网络营销策划需要包括哪些内容
  • 有没有做请帖的网站seo关键词快速获得排名
  • 微商城设计网站建设注册网站流程
  • 免费搭建商城网站广告公司联系方式
  • 响应式网站模板html北京做网络优化的公司
  • 网上购物网站模板网络营销的策略包括
  • 上海到北京高铁票价多少赣州网站seo
  • 网页编辑与网站编辑百度信息流推广
  • 做国际网站有什么需要注意的视频外链工具
  • wordpress直接显示文章重庆网站关键词排名优化
  • 自定义菜单WordPress广州网站制作实力乐云seo
  • 建立官方网站多少钱seo黑帽优化
  • 成都网站建设的公司哪家好seo外链推广工具下载
  • 欧洲大带宽服务器seo站长工具下载
  • 临清住房建设网站加盟教育培训哪个好
  • 网站如何做信息表西安网站关键词优化推荐
  • 厦门建站服务seo优化需要多少钱
  • 网页传奇开服表seo新站如何快速排名
  • 怎么用asp做网站培训机构好还是学校好
  • 定手机网站建设猪八戒网接单平台
  • 资讯类响应式网站模板哪里有永久免费建站
  • wordpress域名二级目录如何跳转seo服务顾问
  • 毕设做网站工作量够吗搜索引擎优化师工资
  • 网站上怎么做图片变换动图个人网页
  • 淘客免费网站建设百度客服24小时人工电话
  • 深圳网站开发建设培训机构天津百度seo代理
  • 军博网站建设ui设计
  • 重庆潼南网站建设公司培训网页