Java基础知识(五)

原创 2018年04月17日 13:13:49

Collection(接口)----------Collections(工具类)
子接口:List(线性表)------Set
实现类:ArrayList:
底层是动态数组,
LinkedList
底层是链表
链表向上造型成Queue(队列接口),特点先进先出(FIFO)
进:offer(E e)
出:poll()
查看:peek()
向上造型成Deque(双端队列接口),特点两端都可以进与出
进:offerFirst(E e)
offerLast(E e)
出: pollFirst()
pollLast()
双端队列禁止一端的进出,就变成了栈的数据结构。
特点:先进后出(FILO)
进:push(E e)

出:pop()

Set接口:

无序,不可重复(元素类型的equals方法比较)
无序:与放入顺序不一致。
比喻:List好比一个有格子顺序的盒子
Set好比一个袋子。
实现类:
HashSet:底层是基于散列算法(哈希算法)来存储的数据结构

treeSet:底层是基于有序的二叉树的数据结构

重写HashCode()和equals方法后的成立关系。

hash值相同,equals不一定为true
hash值不同,equals一定false.
equals为true,hash值一定相同

equals为false,hash值有可能一样

Map接口:存储数据是以key-value形式存储的。key相当于

value的索引。作为key的对象类型必须重写hashCode方法。
因为key也是唯一的,不能重复的。Map的key底层就是
hashSet集合。
Map接口提供的常用方法:
put(K k,V v):作用是向Map对象中添加元素
get(K k):作用是通过k获取对应的value值。
当Map中没有相应的k,那么返回的value就是null

特点:key值可以为null.
Map接口最常用的实现类:
HashMap
1:集合框架:
List接口有两个实现类ArrayList和LinkedList
有序可重复的
ArrayList:动态数组
LinkedList:链表---->Deque(双端队列)-->(Queue)
Set接口有两个实现类HashSet和TreeSet
无序不可以重复
Map接口的特点:
是以key-value这种形式存数据的。
key作为索引,是唯一的,不能重复。
value可以重复。
如存数据时:
"one"---"张三"
"two"---"李四"
"three"---"张三"
常用方法:
put(K key, V vlaue);存数据
get(K key):通过key取value。如果key不存在,返回null.
keySet():返回所有key值的Set集合
values():返回所有value值的Collection集合
entrySet():将每一个key-value封装成内部类Entry对象,返回
所有的Entry对象的Set集合

Android必备的Java基础知识(二)

Android学习必备的Java基础知识
  • 2015年09月27日 23:22

Java基础知识总结 (绝对经典)

  • 2017年11月06日 16:12
  • 415KB
  • 下载

JAVA入门基础知识小结

从C++到Java入门基础知识小结...
  • CSDN_SXL
  • CSDN_SXL
  • 2016-01-26 15:02:25
  • 7792

JAVA快速入门-基础知识

Tips: Java是一门面向对象编程语言,不仅吸收了C++语言的各种优点,还摒弃了C++里难以理解的多继承、指针等概念,因此Java语言具有功能强大和简单易用两个特征。Java语言作为静态面...
  • itdo_just
  • itdo_just
  • 2018-02-11 19:37:41
  • 733

java基础知识大全(必看经典).pdf

  • 2014年10月24日 18:05
  • 12.67MB
  • 下载

java面试题和基础知识汇总超详细

  • 2017年05月10日 18:04
  • 31KB
  • 下载

java面试基础知识总结(一)

1.      static的作用 解析:static是静态修饰符,(在程序中任何变量或者代码都是在编译时由系统自动分配内存来存储的,而所谓静态就是指编译后所分配的内存会一直存在,知道程序退出才会释放...
  • xinyu2015
  • xinyu2015
  • 2016-04-18 21:31:06
  • 900

Java基础知识大全

一、基础知识: 1、JVM、JRE和JDK的区别: JVM(Java Virtual Machine):java虚拟机,用于保证java的跨平台的特性。 ...
  • xingkonglfs
  • xingkonglfs
  • 2017-01-23 20:20:16
  • 783

java 基础知识巩固(一)

1. &与&&区别?     &和&&都是逻辑运算符,都是判断两边同时真则为真,否则为假;但是&&当第一个条件不成立之后,后面的条件都不执行了,而&则还是继续执行,直到整个条件语句执行完为止。 2...
  • who_is_xiaoming
  • who_is_xiaoming
  • 2017-03-31 15:40:10
  • 335

自学时间也有五个月了吧,说下自学这五个月的感受吧

没有经历过别人的经历,不能擅自评论到底是不是适合自己。首先用这句话来告诫自己,曾经的同事善意的提醒过自己,孩子刚出生,事情很多,要边工作边自学才适合现阶段的自己,因为他也刚有小孩,深知其中的原由。当时...
  • gardnerJava
  • gardnerJava
  • 2016-08-11 17:02:10
  • 368
收藏助手
不良信息举报
您举报文章:Java基础知识(五)
举报原因:
原因补充:

(最多只允许输入30个字)