java基础--集合框架的认识
一、集合框架
对于不知道存储数量和更复杂的方式存储对象用集合框架。
其中有几个常用的接口和实现类:Collection父接口、List接口,Set接口,Map接口,
ArrayList实现类、LinkedList实现类、hashSet实现类、hashMap实现类
Collection集合框架的父接口,该接口存储的是一组不唯一,无序的对象。
Collection父接口下有两个子接口:
List接口:存储的数据是 不唯一的、有序的
Set接口 : 存储的数据是惟一的、无序的
List接口下也有两个实现类:
ArrayList类:长度可变的数组、连续的,对于查询、增加数据操作优先使用
LinkedList实现类:基于链表形式,对数据的插入和删除操作便捷。
Set接口的实现类:hashSet实现类、TreeSet实现类;
如果查找集合的元素,而不知道数据的索引且需要全部遍历的情况下,ArrayList的效率就很低下。
在java框架中提供了查找效率更高的集合类HashSet,是Set接口中最常用的实现类。
Map接口的实现类:HashMap实现类、TreeMap实现类
Map中保存的数据是:存储的是一组键值对(key-value),提供了key到value的映射,键是不可以重复的
Iterator接口
Iterator接口表示对集合进行迭代的迭代器,为集合而生。专门实现集合遍历,
需要用while循环遍历
提供了三个方法
hasNext():判断是否还有下一个元素,有就可以迭代,返回true
next():返回要访问的下一元素;
remove():从迭代器指向Collection中移除带带器返回的最后一个元素(可选操作)
在框架中提供了工具类
Collections操作集合框架的工具类
Arrays:操作数组的工具类
java基础--集合框架的认识的更多相关文章
- Java基础——集合框架
Java的集合框架是Java中很重要的一环,Java平台提供了一个全新的集合框架.“集合框架”主要由一组用来操作对象的接口组成.不同接口描述一组不同数据类型.Java平台的完整集合框架如下图所示: 上 ...
- 十五、Java基础---------集合框架体系以及List
在介绍集合之前先说一下数组,正如我们所知,数组是某一类型数据的集合,强调的是数据,而且必须单一:集合框架的不同之处在于存储的数据类型没有任何限制,既可以存储基本数据类型(会自动提升为相应的包装类)也可 ...
- 十七、Java基础---------集合框架之Map
前两篇文章中介绍了Collection框架,今天来介绍一下Map集合,并用综合事例来演示. Map<K,V> Map<K,V>:Map存储的是键值对形式的元素,它的每一个元素, ...
- Java基础——集合框架(待整理)
ArrayList 和 和 Vector 的区别 从代码的最终的操作形式上可以发现,代码的输出结果与之前是一样的,而且没有区别,但是两者的区别还在于其内部的组成上. No. 区别点 Vector Ve ...
- 十六、Java基础---------集合框架之Set
写在前面的话,这篇文章在昨天就写好了,今天打开的时候一不小心将第二天的文章粘贴到了这篇文章,很不幸的是除了标题之外依然面目全非,今天带着沉痛的心情再来写这篇文章! 上篇文章介绍了Collection体 ...
- Java基础---集合框架---迭代器、ListIterator、Vector中枚举、LinkedList、ArrayList、HashSet、TreeSet、二叉树、Comparator
为什么出现集合类? 面向对象语言对事物的体现都是以对象的形式,所以为了方便对多个对象的操作,就对对象进行存储,集合就是存储对象最常用的一种方式. 数组和集合类同是容器,有何不同? 数组虽然也可以存储对 ...
- Java 基础 集合框架
Java中的集合从类的继承和接口的实现结构来说,可以分为两大类: 1 继承自Collection接口,包含List.Set和Queue等接口和实现类. 2 继承自Map接口,主要包含哈希表相关的集合类 ...
- Java基础-集合框架-ArrayList源码分析
一.JDK中ArrayList是如何实现的 1.先看下ArrayList从上而下的层次图: 说明: 从图中可以看出,ArrayList只是最下层的实现类,集合的规则和扩展都是AbstractList. ...
- Java基础-集合框架的学习大纲
1.List 和 Set 的区别 2.HashSet 是如何保证不重复的 3.HashMap 是线程安全的吗,为什么不是线程安全的(最好画图说明多线程环境下不安全)? 4.HashMap 的扩容过程 ...
随机推荐
- 温习排序算法(基于C指针)
以前学过的数据结构课,貌似已经忘得一干二净了,偶然又翻起,书中最后一章详细介绍了7种排序算法,现在对其中4种做个总结.(为啥只总结4种,当然是因为偷懒,只想总结简单又常用的!) 先贴一张排序分类图: ...
- Cross-Origin跨域问题
为什么会跨域,要先了解浏览器的同源策略SOP(Same Orign Policy) https://segmentfault.com/a/1190000015597029 同源: 如果两个页面的协议 ...
- 前端 CSS 注释
/*开头 */ 结尾 /*这是注释*/ <!DOCTYPE html> <html lang="en"> <head> <meta cha ...
- 个人常用的移动端浅灰底index.html
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...
- upCode
更新源码 Sub main() Dim str As String str = "这是测试的字符串对话框" MsgBox str Sheets(1).Select End Sub
- MySQL学习——标识符语法和命名规则
转自:http://blog.csdn.net/notbaron/article/details/50868485 欢迎转载,转载请标明出处:http://blog.csdn.net/notbaron ...
- cygwin 安装 apt-cyg
apt-cyg apt-cyg is a Cygwin package manager. It includes a command-line installer for Cygwin which c ...
- 阿里云新老用户购买 2核8G云服务器5M带宽
这次阿里云活动的力度还是很大的,2核8G云服务器5M带宽 3年才2070 ,还是很值的购买的. 也放一个我的团战队连接,欢迎大家一起拼低价 https://m.aliyun.com/act/team1 ...
- listener 监听 tomcat 容器的初始化和销毁
为了简单,就写个统计Action 请求数量的例子: 1.首先写个 listener public class TestServletContextListener implements Servlet ...
- centos7 源码安装php7
因为php安装需要编译,所以服务器应该保证gcc和g++环境的安装 1. 首先释放安装包: tar -xvzf php-7.0.5.tar.gz cd php-7.0.5 2. 接下来进行参数配置,配 ...