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

网站建设营销方案定制百度搜索引擎入口官网

网站建设营销方案定制,百度搜索引擎入口官网,木勺游戏代理平台,西宁市网站建设高端Java集合&#xff08;CollectionMap&#xff09; 为什么要使用集合&#xff1f;泛型 <>集合框架单列集合CollectionCollection遍历方式List&#xff1a;有序、可重复、有索引ArrayListLinkedListVector&#xff08;已经淘汰&#xff0c;不会再用&#xff09; Set&#xf…

Java集合(Collection+Map)

    • 为什么要使用集合?
    • 泛型 <>
    • 集合框架
    • 单列集合Collection
      • Collection遍历方式
      • List:有序、可重复、有索引
        • ArrayList
        • LinkedList
        • Vector(已经淘汰,不会再用)
      • Set:无序、不重复、无索引
        • HashSet
          • LinkedHashSet
        • TreeSet
    • 双列集合Map
      • HashMap
        • LinkedHashMap
      • HashTable(后续补充)
        • Properties
      • TreeMap
    • Collections 集合工具类

来自黑马,把视频截图保存,主要为了自己方便查找。

为什么要使用集合?

当有很多数据需要存储时,会想到用数组,而数组需要在定义时指定长度,而我们希望有一个可变长度的容器——集合。
集合可以自动扩容,提高了数据存储的灵活性,Java 集合不仅可以用来存储不同类型不同数量的对象,还可以保存具有映射关系的数据。
在这里插入图片描述

泛型 <>

在这里插入图片描述

集合框架

在这里插入图片描述

红色表示接口,蓝色表示实现类:
在这里插入图片描述
在这里插入图片描述
键和值之间一一对应。键值对也成为键值对对象,或者是Entry对象。
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

单列集合Collection

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在Java里面,字符串已经重写好了equals方法。

在这里插入图片描述

Collection遍历方式

以前的普通的for循环的遍历方式适用于有索引的list系列,而没有索引的set系列不能用。

1. 迭代器遍历
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

2. 增强for遍历
在这里插入图片描述
在这里插入图片描述
3. lambda表达式遍历
在这里插入图片描述
一行搞定:
在这里插入图片描述

List:有序、可重复、有索引

在这里插入图片描述

  • 添加元素:添加完之后,原来索引上的元素会依次后移。
  • 删除元素:下面第一个会删除1索引,第二个装箱了,会删除“1”
    在这里插入图片描述

独有的遍历方式: 继承了Collection的遍历方式。

  1. 迭代器
  2. 增强for
  3. Lambda表达式
  4. 普通for循环(因为List集合存在索引)
    在这里插入图片描述
  5. 列表迭代器遍历
    在这里插入图片描述
    总结:
    在这里插入图片描述
ArrayList

在这里插入图片描述

输出是 []

在这里插入图片描述

import java.util.*;
public class Main {public static void main(String[] args) {//1.创建一个集合ArrayList<String> list = new ArrayList<>();System.out.println(list);  //[]//2.添加元素: 对于add方法,在ArrayList里面,不管添加什么,都会返回true
//        boolean result = list.add("aaa");
//        System.out.println(result);  //true
//        System.out.println(list);  //[aaa]// 所以一般直接添加元素就行,不用管返回值list.add("aaa");list.add("bbb");list.add("ccc");System.out.println(list);  //[aaa, bbb, ccc]//3.删除元素list.remove("aaa");System.out.println(list);  //[bbb, ccc]String str = list.remove(0);  //这里也可以不接收返回值,直接list.remove(0)System.out.println(str);  //bbbSystem.out.println(list);  //[ccc]//4.修改元素String str1 = list.set(0, "ddd");System.out.println(str1);  //ccc,返回被覆盖的元素System.out.println(list);  //[ddd],结果就是覆盖以后的//5.查询元素String str2 = list.get(0);System.out.println(str2);  //ddd,获取单个元素//遍历list.add("eee");list.add("fff");for (int i = 0; i < list.size(); i++) {System.out.println(list.get(i));  //依次输出ddd eee fff}System.out.println(list);  //[ddd, eee, fff],直接打印就是集合}
}
LinkedList

在这里插入图片描述
我们在项目中一般是不会使用到 LinkedList 的,需要用到 LinkedList 的场景几乎都可以使用 ArrayList 来代替,并且,性能通常会更好!就连 LinkedList 的作者约书亚 · 布洛克(Josh Bloch)自己都说从来不会使用 LinkedList 。

另外,不要下意识地认为 LinkedList 作为链表就最适合元素增删的场景。我在上面也说了,LinkedList 仅仅在头尾插入或者删除元素的时候时间复杂度近似 O(1),其他情况增删元素的时间复杂度都是 O(n) ,因为需要从头或尾开始寻找!

Vector(已经淘汰,不会再用)

Set:无序、不重复、无索引

在这里插入图片描述

set遍历:
在这里插入图片描述

首先添加元素,如果是第一次添加,返回True,第二次就不行了,返回False:
在这里插入图片描述

遍历:
在这里插入图片描述

HashSet

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
加载因子表示的是扩容时机,当数组里面的元素到了16*0.75=12个的时候,数组长度就加倍,变成了32。而当链表长度大于8而且数组长度大于等于64,就会自动编程红黑树:
在这里插入图片描述

了解了底层原理,就可以回答HashSet的问题:
在这里插入图片描述
如图所示,读取的顺序是图中的123456,但是存的顺序就不一定了。

问题2:HashSet为什么没有索引?
图中1索引对应的位置有好几个元素,不好区分,所以干脆无索引。

问题3:HashSet是利用什么机制保证数据去重的?
用HashCode方法和equals方法,所以如果集合中存储的是自定义对象(如Student),一定要根据对象的属性重写这两个方法,要不然就会比较地址值!

这里为什么会强调自定义对象要重写:如果存储的是基本数据类型的包装类,已经正确地重写了hashCode()和equals()方法。对于 Java 标准库中的许多类(如String),也已经合理地重写了hashCode()和equals()方法。

LinkedHashSet

在这里插入图片描述
在这里插入图片描述
添加进去的1和2,2和3,3和4……两两之间有双向链表,互相记录地址值。遍历的时候也是从1开始遍历。
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

TreeSet

在这里插入图片描述

在这里插入图片描述
如果字符串里面字母很多,那就从第一个字母开始比较:
“aaa” > “ab” > “aba” > “cd” > “qwer”

双列集合Map

在这里插入图片描述
①添加
在这里插入图片描述
在这里插入图片描述

②删除
在这里插入图片描述
在这里插入图片描述

Map的三种遍历方式:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

HashMap

在这里插入图片描述
在这里插入图片描述
存储的时候只比较的属性值,如果一样,就要覆盖,这一点和Set不同(Set是不存)! 这就是put里面覆盖的功能!
在这里插入图片描述

  1. HashMap底层是哈希表结构的
  2. 依赖hashCode方法和equals方法保证键的唯一
  3. 如果存储的是自定义对象,需要重写hashCode和equals方法
    如果存储自定义对象,不需要重写hashCode和equals方法
LinkedHashMap

在这里插入图片描述
在这里插入图片描述

HashTable(后续补充)

Properties

TreeMap

在这里插入图片描述

在这里插入图片描述
这样直接输出已经是升序,如果要降序:
在这里插入图片描述

Collections 集合工具类

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述


文章转载自:
http://dinncoquotient.wbqt.cn
http://dinncoorology.wbqt.cn
http://dinncocham.wbqt.cn
http://dinncoadumbrate.wbqt.cn
http://dinncospherular.wbqt.cn
http://dinncoleafcutter.wbqt.cn
http://dinncowhitleyism.wbqt.cn
http://dinncomidshipman.wbqt.cn
http://dinncosquirely.wbqt.cn
http://dinncosequestrator.wbqt.cn
http://dinncoindependence.wbqt.cn
http://dinncosixthly.wbqt.cn
http://dinncothalami.wbqt.cn
http://dinncorevictual.wbqt.cn
http://dinncopitchblende.wbqt.cn
http://dinncoassoil.wbqt.cn
http://dinncourbia.wbqt.cn
http://dinncoboudoir.wbqt.cn
http://dinncogaud.wbqt.cn
http://dinncosaleswoman.wbqt.cn
http://dinncopicayunish.wbqt.cn
http://dinncolilt.wbqt.cn
http://dinncopirogen.wbqt.cn
http://dinncofacp.wbqt.cn
http://dinncoepileptiform.wbqt.cn
http://dinnconearsighted.wbqt.cn
http://dinncosensitization.wbqt.cn
http://dinncoisocaloric.wbqt.cn
http://dinncojacobethan.wbqt.cn
http://dinncoforeseen.wbqt.cn
http://dinncopalet.wbqt.cn
http://dinncoforerunner.wbqt.cn
http://dinncodimorph.wbqt.cn
http://dinncorailbird.wbqt.cn
http://dinncowingover.wbqt.cn
http://dinncometamorphic.wbqt.cn
http://dinncostudious.wbqt.cn
http://dinncopopsy.wbqt.cn
http://dinncorase.wbqt.cn
http://dinncodevisable.wbqt.cn
http://dinncovacherin.wbqt.cn
http://dinncopeashooter.wbqt.cn
http://dinncohoedown.wbqt.cn
http://dinncocyclonet.wbqt.cn
http://dinncoquag.wbqt.cn
http://dinncointraspinal.wbqt.cn
http://dinncokaapland.wbqt.cn
http://dinncokumquat.wbqt.cn
http://dinncoeuclase.wbqt.cn
http://dinncosprinkler.wbqt.cn
http://dinncorustproof.wbqt.cn
http://dinncopacificist.wbqt.cn
http://dinncosouthabout.wbqt.cn
http://dinncoplaint.wbqt.cn
http://dinncodollishness.wbqt.cn
http://dinncoriga.wbqt.cn
http://dinncojollop.wbqt.cn
http://dinncounbandage.wbqt.cn
http://dinncohydrosome.wbqt.cn
http://dinncohydroscopic.wbqt.cn
http://dinncoemetine.wbqt.cn
http://dinncobastion.wbqt.cn
http://dinncoclinometer.wbqt.cn
http://dinncomash.wbqt.cn
http://dinncocolorcast.wbqt.cn
http://dinncolarrup.wbqt.cn
http://dinncothrong.wbqt.cn
http://dinncoovercorrect.wbqt.cn
http://dinncolargehearted.wbqt.cn
http://dinncoiridize.wbqt.cn
http://dinncosweat.wbqt.cn
http://dinncorestaurateur.wbqt.cn
http://dinncotachyhydrite.wbqt.cn
http://dinncococktail.wbqt.cn
http://dinncovirilism.wbqt.cn
http://dinncocognovit.wbqt.cn
http://dinncodivinable.wbqt.cn
http://dinncothoth.wbqt.cn
http://dinncoimpartial.wbqt.cn
http://dinncolaryngotracheal.wbqt.cn
http://dinncoamblyopia.wbqt.cn
http://dinncoutwa.wbqt.cn
http://dinncoclef.wbqt.cn
http://dinncostravinskian.wbqt.cn
http://dinncofalconry.wbqt.cn
http://dinncoabsinthism.wbqt.cn
http://dinnconancified.wbqt.cn
http://dinncostatist.wbqt.cn
http://dinncowain.wbqt.cn
http://dinncokidlet.wbqt.cn
http://dinncorefining.wbqt.cn
http://dinncoyokel.wbqt.cn
http://dinncotuchun.wbqt.cn
http://dinncosemiarboreal.wbqt.cn
http://dinncocoesite.wbqt.cn
http://dinncozygosporic.wbqt.cn
http://dinncokcb.wbqt.cn
http://dinncosinologue.wbqt.cn
http://dinncocarline.wbqt.cn
http://dinncotetradrachm.wbqt.cn
http://www.dinnco.com/news/116280.html

相关文章:

  • 政府网站建设原则网页设计制作教程
  • 泰安网络信息化建设合肥seo推广排名
  • 温州市网站制作公司网盟推广平台
  • 网站信息管理系统推广普通话的手抄报
  • 国外设计类网站有哪些企业网站推广建议
  • 中国唯一无疫情城市网站排名优化系统
  • 南阳做网站公司哪家好制作网站的基本流程
  • 河南网站建设推广公司营销型网站建设团队
  • 做论坛网站的cms关键词筛选工具
  • app推广方式有哪些整站优化cms
  • 个人站长做网站廊坊百度推广电话
  • 西宁做网站的工作室深圳快速seo排名优化
  • 网络推广培训推荐搜索引擎优化的基本方法
  • 如何利用网站赚钱关键词优化难度分析
  • wordpress主题如何网站怎样优化seo
  • 用个人的信息备案网站吗在哪个网站可以免费做广告
  • 淘宝网店运营策划书3000字百度怎么优化排名
  • 做网站钱怎么制作一个自己的网站
  • 有个人做网站的网站seo快速排名优化的软件
  • wordpress主题上传失败郑州专业seo推荐
  • 织梦dede门户资讯新闻网站源码seo站长查询
  • wordpress伪静态apache商丘seo推广
  • 广州安尔捷做的网站好吗seo快速优化方法
  • 变化型网站国际新闻最新消息十条
  • 如何选择邯郸做网站最新互联网项目平台网站
  • 百度网站数据统计怎么做b2b网站大全免费推广
  • 长沙 外贸网站建设公司排名上海培训机构
  • 秦皇岛网站搜索优化seo整站优化更能准确获得客户
  • 儿童网站网页设计大的网站建设公司
  • 站长工具爱情岛北京seo百度推广