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

泰州网站设计咨询360搜索引擎

泰州网站设计咨询,360搜索引擎,seo网站排名查询,网站建设网站排名怎么做目录 集合 List List的各种接口API List的五种遍历方式 List的删除是内部是怎么做的? ArrayList和LinkedList的区别 Vetor和Stack是什么? Set Set的特点 HashSet TreeSet LinkedHashSet Map HashMap LinkedHashMap TreeMap 集合 在Java…

目录

集合

List

List的各种接口API

List的五种遍历方式

List的删除是内部是怎么做的?

ArrayList和LinkedList的区别

Vetor和Stack是什么?

Set

Set的特点

HashSet

TreeSet

LinkedHashSet

Map

HashMap

LinkedHashMap

TreeMap


集合

在Java中,集合分为单列集合和双列集合(也叫映射集合),单列集合接口主要有:List,Set。

双列集合(映射集合)主要有:Map

List

List是Collection的子接口,是java.util提供的,里面提供了很多的实现类,比如ArrayList,LinkedList,Vetor、Stack。

List的各种接口API

添加list.add

查找list.get

删除list.remove

修改list.set

List的五种遍历方式

迭代器遍历:可用于删除元素

List<String> list = new ArrayList<>();
list.add("Apple");
list.add("Banana");
list.add("Cherry");Iterator<String> iterator = list.iterator();
while (iterator.hasNext()) {String fruit = iterator.next();System.out.println(fruit);
}

列表迭代器:用于添加元素

List<String> list = new ArrayList<>();
list.add("Apple");
list.add("Banana");
list.add("Cherry");ListIterator<String> listIterator = list.listIterator();
while (listIterator.hasNext()) {String fruit = listIterator.next();System.out.println(fruit);
}while (listIterator.hasPrevious()) {String fruit = listIterator.previous();System.out.println(fruit);
}

for循环

增强for循环

Lambda迭代器

List的删除是内部是怎么做的?

ArrayList的删除:如果删除第一个和中间的,会使其他的元素向前移动,然后调整数组大小,如果删除最后一个只需要调整大小即可

LinkedList的删除:如果删除第一个改变头节点,如果删除中间的就把上一个节点指向下一个节点就可以,如果删除最后一个只需更新尾节点的前一个节点,然后将尾节点的引用置空。

ArrayList和LinkedList的区别

ArrayList底层是动态数组,内存是连续的,创建时候其实是空参创建的,当添加第一个元素的时候,他会初始化10个容量,当满了的时候会扩大1.5倍。ArrayList查询快。因为是数组有索引内存连续 常数时间复杂度o(1) 但是删除线性时间复杂度为O(n) 因为删除过程麻烦。

ps:ArrayList的扩容是属于重新建了一个数组

ListedList的底层是一个双向链表,它有一些独特的API,查找慢,因为需要遍历整个链表,但是插入和删除快,因为插入的话直接插入节点就可以。

  1. 添加元素

    • add(E e):在链表末尾添加元素。
    • add(int index, E element):在指定位置插入元素。
    • addFirst(E e):在链表头部添加元素。
    • addLast(E e):在链表尾部添加元素。
  2. 删除元素

    • remove(int index):删除指定位置的元素。
    • remove(Object o):删除第一个匹配的元素。
    • removeFirst():删除链表头部的元素。
    • removeLast():删除链表尾部的元素。
  3. 获取元素

    • get(int index):获取指定位置的元素。
    • getFirst():获取链表头部的元素。
    • getLast():获取链表尾部的元素。

Vetor和Stack是什么?

Vetor是ArrayList的线程安全版本,使用Sychronized实现的,Stack是一种后进先出的数据结构。

Set

Set的特点

Set的特点就是无序、不重复,无索引。实现类有Hashset、TreeSet、LinkedHashSet。

HashSet

HashSet是用哈希表存储数据的,无序、不重复、无索引,通过哈希函数去计算并映射到哈希表的位置上面 (可能出现哈希碰撞)。增删改都是O(1)

TreeSet

基于红黑树去实现的,特点是无索引,不重复,可排序,增删改是O(logn)

LinkedHashSet

双向链表+哈希表,有序不重复无索引,增删改查都是o(1)因为增删改是用双向链表而查找是用哈希表。

Map

Map的实现类有HashMap、TreeMap、LinkedHashMap。

HashMap

LinkedHashMap

TreeMap

http://www.dtcms.com/wzjs/193057.html

相关文章:

  • 做分色找工作网站头条新闻
  • 男子做淫秽网站图片网络推广平台有哪些渠道
  • 渭南网站建设疫情防控最新信息
  • dedecms做的网站sem竞价广告
  • 电子商务网站搜索引擎设计如何制作网页最简单的方法
  • 网站开发 js深圳seo论坛
  • 连江网站建设百度大数据搜索引擎
  • 最近的军事新闻有哪些重庆seo代理
  • dedecms5.7环保科技公司网站模板如何做平台推广赚钱
  • 做网站宽高怎么决定站长素材
  • 做网站去哪里找模板沈阳seo排名收费
  • 委托做网站违反广告法最近的时事新闻
  • 天津 公司网站建设营销策划的概念
  • 江西省住房和建设规划局局网站黑马程序员培训机构在哪
  • wordpress菜单美化插件seo网站地图
  • 做付费软件网站推广赚钱
  • 美国免费建站平台网站建设的公司
  • 郑州做网站哪家好熊掌号百度问问首页登录
  • 制造企业网站建设网站制作优化
  • 怎么做网站关键词优化优化优化
  • dw响应式网站模板下载一个新手怎么去运营淘宝店铺
  • 微网站怎么开通最近七天的新闻重点
  • 四川省工程建设信息官方网站交换友情链接的要求有
  • 我想建设网站成都seo整站
  • 建设工程消防网站手机百度快照
  • 网站推广服务费会计分录怎么做seo页面内容优化
  • 建网站 技术旅游网站的网页设计
  • 怎么做免费网站推专业网站优化
  • 怎样在自己的网站上家程序代码编程教学入门
  • 电商网站建设制作百度搜索风云榜小说排行榜