JavaOOP-集合框架
1.Java集合框架包含的内容
Java集合框架为我们提供了一套性能优良,使用方便的接口和类,它们都位于在java.util包中。

Collection 接口存储一组不唯一,无序的对象。
List 接口存储一组不唯一,有序(插入顺序)的对象。
Set 接口存储一组唯一,无序的对象 。
Map接口存储一组键值对象,提供key到value的映射。Map中的key不要求有序,不允许重复。value同样不要求有序,但允许重复。
Iterator接口是负责定义访问和遍历元素的接口。
2.List接口
实现List接口的常用类有ArrayList和LinkedList。它们都可以容纳所有类型的对象,包括null,允许重复,并且都保存元素的存储顺序。
ArrayList实现了长度可变的数组,在内存中分配连续的空间。遍历元素和随机访问元素的效率比较高
LinkedList采用链表(链表没有下标)存储方式。插入、删除元素时效率比较高
1.ArrayList集合类
ArrayList<String> arrayList=new ArrayList<String>();
arrayList.add("美美");
arrayList.add("如花");
arrayList.add("旺财");
//遍历方法
for(int i=;i<arrayList.size();i++){
//get() 通过下标拿到集合中的每一项
System.out.println(arrayList.get(i));
}
2. ArrayList常用的各种方法
| 方法名 | 说明 |
|
boolean add(Object o) |
在列表的末尾顺序添加元素,起始索引位从0开始 |
| void add(int index,Object o) |
在指定的索引位置添加元素。索引位置必须介于0和列表中元素个数之间 |
|
int size() |
返回列表中的元素个数 |
|
Object get(int index) |
返回指定索引位置处的元素。取出的元素是Object类型,使用前需要进行强制类型转换 |
| boolean contains(Object o) |
判断列表中是否存在指定元素 |
|
boolean remove(Object o) |
从列表中删除元素 |
|
Object remove(int index) |
从列表中删除指定位置元素, 起始索引位置从0开始 |
3.LinkedList集合类
Person person =new Person();
person.setName("哈哈");
person.setAge(); Person person2 =new Person();
person2.setName("吼吼");
person2.setAge(); LinkedList<Person> linkedList=new LinkedList<Person>();
linkedList.add(person);
linkedList.addFrist(person2);
for (int i = ; i < linkedList.size(); i++) {
System.out.println(linkedList.get(i).getName());
}
4.LinkedList的特殊方法
| 方法名 | 说明 |
|
void addFirst(Object o) |
在列表的首部添加元素 |
|
void addLast(Object o) |
在列表的末尾添加元素 |
|
Object getFirst() |
返回列表中的第一个元素 |
|
Object getLast() |
返回列表中的最后一个元素 |
|
Object removeFirst() |
删除并返回列表中的第一个元素 |
|
Object removeLast() |
删除并返回列表中的最后一个元素 |
3.Map接口
1.HashMap集合类
Map<String,String> map=new HashMap<String, String>();
map.put("CBC", "中国建设银行");
map.put("ABC", "中国农业银行");
map.put("ICBC", "中国工商银行");
Set<String> set=map.keySet();
//方式1. 利用循环 通过key值拿到valus值
for(String key:set){
System.out.println(key);
//get()方法
System.out.println(map.get(key));
}
2.遍历HashMap的五种方式
//方式1. 利用循环 通过key值拿到valus值
for(String key:set){
System.out.println(key);
//get()方法
System.out.println(map.get(key));
}
System.out.println("=============");
//方式2. 利用循环 直接拿到Key
Collection<String> values = map.values();
for(String value:values){
System.out.println(value);
}
System.out.println("====================");
//方式3. 利用循环 直接拿到Key 和Value
Set<Entry<String, String>> entrySet = map.entrySet();
for (Entry<String, String> entry : entrySet) {
System.out.println(entry.getKey());
System.out.println(entry.getValue());
}
//方式4. 使用Itertor迭代器 遍历 Key和value
System.out.println("========Itertor========");
Set<String> keySet = map.keySet();
Iterator<String> iterator = keySet.iterator();
//循环条件 Itertor是否有下一个元素
while (iterator.hasNext()) {
//
String next = iterator.next();
System.out.println(next);
System.out.println(map.get(next));
}
System.out.println("===========5==========");
//方式5. 使用迭代器遍历 Key+Value遍历
Iterator<Entry<String, String>> iterator2 = map.entrySet().iterator();
while(iterator2.hasNext()){
Entry<String, String> next = iterator2.next();
System.out.println(next.getKey());
System.out.println(next.getValue());
}
3.Map的常用方法
| 方法名 | 说明 |
|
Object put(Object key, Object val) |
以“键-值对”的方式进行存储 |
|
Object get (Object key) |
根据键返回相关联的值,如果不存在指定的键,返回null |
|
Object remove (Object key) |
删除由指定的键映射的“键-值对” |
|
int size() |
返回元素个数 |
|
Set keySet () |
返回键的集合 |
|
Collection values () |
返回值的集合 |
|
boolean containsKey (Object key) |
如果存在由指定的键映射的“键-值对”,返回true |
总结

别把工作当负担,与其生气埋怨,不如积极快乐的去面对,当你把工作当作生活和艺术,你就会享受到工作的乐趣。
赵昌平 2018年3月13日21:25:10
JavaOOP-集合框架的更多相关文章
- JAVAOOP集合框架
集合框架三大内容:对外的接口.接口的实现和对集合运算的算法 集合有三大类接口:List.Set.Map 共同点:都是集合接口,都可以用来存储很多对象 不同:Collection接口存储一组不唯一(允许 ...
- 一起学 Java(三) 集合框架、数据结构、泛型
一.Java 集合框架 集合框架是一个用来代表和操纵集合的统一架构.所有的集合框架都包含如下内容: 接口:是代表集合的抽象数据类型.接口允许集合独立操纵其代表的细节.在面向对象的语言,接口通常形成一个 ...
- 【目录】JUC集合框架目录
JUC集合框架的目录整理如下: 1. [JUC]JUC集合框架综述 2. [JUC]JDK1.8源码分析之ConcurrentHashMap(一) 3. [JUC]JDK1.8源码分析之Concurr ...
- java面试题——集合框架
先来看一下集合框架关系图 Collection FrameWork 如下: Collection ├List │├LinkedList │├ArrayList │└Vector │ └Stack └S ...
- Java使用实现面向对象编程:第七章集合框架的解读=>重中之重
对于集合框架,是非常重要的知识,是程序员必须要知道的知识点. 但是我们为什么要引入集合框架呢? 我们之前用过数组存储数据,但是采用数组存储存在了很多的缺陷.而现在我们引用了集合框架,可以完全弥补了数组 ...
- Java集合框架List,Map,Set等全面介绍
Java集合框架的基本接口/类层次结构: java.util.Collection [I]+--java.util.List [I] +--java.util.ArrayList [C] +- ...
- Java集合框架练习-计算表达式的值
最近在看<算法>这本书,正好看到一个计算表达式的问题,于是就打算写一下,也正好熟悉一下Java集合框架的使用,大致测试了一下,没啥问题. import java.util.*; /* * ...
- Java 之 集合框架(JCF)
1.集合框架 a.框架:为了实现某一目的或功能,而预先提供的一系列封装好的.具有继承或实现关系的类与集合 b.集合:①定义:Java中对一些数据结构和算法进行封装,即封装(集合也是一种对象) ②特点: ...
- 【集合框架】Java集合框架综述
一.前言 现笔者打算做关于Java集合框架的教程,具体是打算分析Java源码,因为平时在写程序的过程中用Java集合特别频繁,但是对于里面一些具体的原理还没有进行很好的梳理,所以拟从源码的角度去熟悉梳 ...
- 【集合框架】JDK1.8源码分析之Comparable && Comparator(九)
一.前言 在Java集合框架里面,各种集合的操作很大程度上都离不开Comparable和Comparator,虽然它们与集合没有显示的关系,但是它们只有在集合里面的时候才能发挥最大的威力.下面是开始我 ...
随机推荐
- 超链接a标签的属性target的可选值有哪些以及区别
超链接a标签的属性target的可选值有哪些以及区别 1.<a target="_blank"></a> 2.<a target="_par ...
- MySQL插入数据时插入无效的列
1.错误描述 com.mysql.jdbc.exception:jdbc4.MySQLSyntaxErrorException:Unknown column 'man' in 'field list' ...
- java.lang.NoClassDefFoundError:org/hamcrest/SelfDescribing
1.错误描述 java.lang.NoClassDefFoundError:org/hamcrest/SelfDescribing 2.错误原因 将junit-4.11.jar导入到lib目录中,出现 ...
- “net usershare”返回错误 255
1 错误描述 youhaidong@youhaidong:~$ sudo nautilus (nautilus:4429): Gtk-WARNING **: Failed to register cl ...
- Acperience HDU - 5734
Deep neural networks (DNN) have shown significant improvements in several application domains includ ...
- Halcon算子--区域特征
当我们想要提取Region时,图像处理后,往往存在几个类似的Region,此时,需要根据Region的一些特殊特征,来选择指定的Region. 求Region指定特征值:region_features ...
- ASP.NET 初识Cookie
1.ASP.NET中使用Cookie 0.说明 Cookie存在客户端电脑上,Session存在服务器上,所以保存登录信息等敏感信息时不能使用Cookie,用户个性化设置可以使用Cookie 1.新建 ...
- 过滤器(Filter)和拦截器(Interceptor)
之前总是弄混这两者,今天看了几篇文章,小结一下在这里. Filter介绍 Filter可以认为是Servlet的一种"加强版",它主要用于对用户请求进行预处理,也可以对HttpSe ...
- oracle使用中的一些问题
一.设置自增主键(假设表的主键名为:company_id) 1)创建序列(company_autoinc): maxvalue start increment nocache; 2)创建触发器(com ...
- 命令行更新node和npm
Windows系统下: 查看版本的命令和Ubuntu下一样. 不同的是Windows下不能使用"n"包管理器来对NodeJS进行管理,在这里我们使用一种叫"gnvm&qu ...