java学习之路--集合基础之List和Set部分
List
一个接口,它继承于Collection的接口。它代表着有序的队列。里面的元素是有序的,可以重复,因为该集合的体系有索引。
List的实现类
ArrayList:底层数据结构为数组数据结构,特点:查询速度快,增删稍慢,线程不同步。基于数组实现List类。
LinkdList:底层数据结构为链表数据结构,特点:增删速度快,查询速度慢。线程不同步。实现List接口。
Vextor:底层数据结构为数组数据结构,出现在jdk早起版本,现在被ArrayList取代。
Set
Set集合类似与一个面盆,元素是无序的,元素的值不能重复。继承了Collection接口。Set判断两个对象相等的不是使用“==“运算符,而是根据equals()方法,我们加入一个新的元素时,如果这两个元素对象和Set中已有的对象进行比较,equals比较都返回的是false,则Set就会接受这个新的元素对象。
Set的实现类
HashSet:底层数据结构为哈希表,具有良好的存取和查询性能,判断元素的存在及删除等操作,是主要依靠hashCode()和equals()两个方法来完成的,hashCode()方法来获取该对象的hashCode值,然后根据哈希值决定对象的存储位置,如果哈希值相等,才会调用equals()方法是否为真。
TreeSet:底层数据结构为二叉树,可以确保集合为排序状态。
TreeSet实现排序:
第一种排序方法为:让元素的自身具有比较性,元素需要实现Comparable接口,然后覆盖compareTo()方法。
第二种排序方法为:当元素自身不具备比较性时,或者具备的比较性不是所需要的,这时就需要让集合的自身具备比较的属性,定义一个类,实现comparator接口,覆盖compare方法。
Interator迭代器接口
迭代器接口是Collection类的父接口,实现Iterable接口的对象允许使用foreach进行遍历,也就是说所有Collection集合对象都具有foreach可遍历性,这个Iterator接口只有一个方法:iterator(),它返回一个代表当前集合对象的泛型<t>迭代器。
java学习之路--集合基础之List和Set部分的更多相关文章
- java学习之路--简单基础的面试题
1.面向对象的特征有哪些方面? 答:面向对象的特征主要有以下几个方面: 1)抽象:抽象是将一类对象的共同特征总结出来构造类的过程,包括数据抽象和行为抽象两方面.抽象只关注对象有哪些属性和行为,并不关注 ...
- java学习之路之javaSE基础1
<h2>java学习之路之javaSE基础1</h2> <div> ###01.01_计算机基础知识(计算机概述)(了解)* A:什么是计算机?计算机在生活中的应用 ...
- java学习之路之javaSE基础2
java学习之路之javaSE基础2 所有的代码都是引用他人写的. 1.逻辑运算符 //&,|,^,! //int x = 10; //5 < x < 15 //x > 5 ...
- python学习之路-day2-pyth基础2
一. 模块初识 Python的强大之处在于他有非常丰富和强大的标准库和第三方库,第三方库存放位置:site-packages sys模块简介 导入模块 import sys 3 sys模 ...
- 新篇章之我的java学习之路下
昨天写下了人生的第一篇博客,今天接着写我的java学习之路有关开发及框架的学习过程. 想要学好java语言,只学习一些java的基本语法对实际开发中的用处还是不大的,所以我们还要掌握一些有关javaW ...
- Java学习之路(转)
Java学习之路(书籍推荐) 一.基础类 1.<Thinking in java>(阅读2遍),入门第一位是建立正确的概念 2.<Core Java>这本书更贴近实践,更多 ...
- JAVA学习之路与大家分享
这是我四年以前总结的JAVA学习之路,希望对初学者或想从事JAVA开发的人有帮助. 本人是软件工程专业出身,先后学过C.C++.JAVA.VB.delphi等等开发语言以及网络相关管理技术.哎,好久不 ...
- Java学习笔记:语言基础
Java学习笔记:语言基础 2014-1-31 最近开始学习Java,目的倒不在于想深入的掌握Java开发,而是想了解Java的基本语法,可以阅读Java源代码,从而拓展一些知识面.同时为学习An ...
- Java学习笔记之---集合
Java学习笔记之---集合 (一)集合框架的体系结构 (二)List(列表) (1)特性 1.List中的元素是有序并且可以重复的,成为序列 2.List可以精确的控制每个元素的插入位置,并且可以删 ...
随机推荐
- 微信小程序WebSocket报错:Error during WebSocket handshake: Sent non-empty 'Sec-WebSocket-Protocol' header but no response was received
Error during WebSocket handshake: Sent non-empty 'Sec-WebSocket-Protocol' header but no response was ...
- 【原】Linux环境下Shell调用MySQL并实现定时任务
对于一些周期性事务,我们可以在Linux下,使用shell脚本调用mysql数据库存储过程,并设置定时任务. 本来是要mysql数据库中创建事件任务来,定时执行存储过程,做数据传输的...使用cron ...
- VTK使用矢量数据弯曲几何体
vtkWarpVector is a filter that modifies point coordinates by moving points along vector times the sc ...
- Hierarchical softmax(分层softmax)简单描述.
最近在做分布式模型实现时,使用到了这个函数. 可以说非常体验非常的好. 速度非常快,效果和softmax差不多. 我们知道softmax在求解的时候,它的时间复杂度和我们的词表总量V一样O(V),是性 ...
- ROC曲线-阈值评价标准
ROC曲线指受试者工作特征曲线 / 接收器操作特性曲线(receiver operating characteristic curve), 是反映敏感性和特异性连续变量的综合指标,是用构图法揭示敏感性 ...
- 开源自己写的Library到github,让别人或自己的项目依赖
对于不会git命令的自己,要上传项目或libary,看了本文,傻瓜式操作,绝壁简单! 新建一个空白工程 File-->New-->New module-->Android Libra ...
- system generator学习笔记【01】
作者:桂. 时间:2018-05-18 18:26:50 链接:http://www.cnblogs.com/xingshansi/p/9045914.html 前言 学习使用system gene ...
- Atitit 乌合之众读后感attilax总结 与读后感结构规范总结
Atitit 乌合之众读后感attilax总结 与读后感结构规范总结 1. 背景概览与鸟瞰overview 1 1.1. 社会背景 与 历史事件背景 与历史时间背景 1 1.2. 书籍简绍 2 1. ...
- crawler_exa2
优化中... #! /usr/bin/env python # -*- coding:utf-8 -*- # Author: Tdcqma ''' v17.0920.1401 基本功能实现,漏洞标题与 ...
- CobaltStrike3.12/13 破解
更新3.13破解版 链接: https://pan.baidu.com/s/14e0tpVPzUhiAhYU2_jvBag 提取码: d9uf MacOS客户端: 链接: https://pan.ba ...