Java当中的类集框架

类集框架,那么什么是类集框架,集合的种类有哪些,类集框架的基础结构。

类集框架是一组类和接口的集合,位于java.util包当中,是用来用户存储和管理对象的,在这个类集合框架中,我们主要学习的为三大类,分别是集合,列表和映射。

集合,列表,映射

Set为集合,在集合中的对象是不按照顺序排列的,并且是没有重复的对象的。简单为:无序,无重复。

List为列表,中在列表中的对象是由顺序的排序的,并且是有重复的对象。

Map为映射,在集合中的每个元素都有一个键对象和一个值对象,在Map中键是不可以重复的,值是可以重复的。

类集合框架主体

集合框架的构成及分类

顶级Iterator和Collection

import java.util.List;
import java.util.ArrayList; public class Demo{
public static void main(String args[]){
// 创建列表的实现类对象
ArrayList<String> arrayList = new ArrayList<String>();
// 添加数据
arrayList.add("a");
arrayList.add("b");
arrayList.add("c");
// 移除
arrayList.remove(1);
// 获取数据
String s = arrayList.get(1);
System.out.println(s);
// 获取长度
int a = arrayList.size();
// 打印所有元素
for(int i=0; i<arrayList.size(); i++){
String s = arrayList.get(i);
System.out.println(s);
}
}
}

类集合框架是jdk提供的一类类和接口,主要掌握集合,列表,映射,集合是无序的,集合中的元素不允许是重复的,列表是有序的,列表中的元素是允许重复的,映射是以键值对的方式来存储数据,键是不可重复的,值是可以重复的。

Collection 和 Iterator 接口

CollectionListSet的父类

Collection接口的方法

方法 说明
int size() 返回集合中元素的数目
boolean add(Object obj) 向集合中添加对象
remove(Object obj) 从集合中删除一个元素
void clear() 删除集合当中的所有对象
boolean isEmpty() 判断集合是否为空

Set 和 HashSet 为Set的实现类 使用

import java.util.Set;
import java.util.HashSet;
public class Demo{
public static void main(String args[]){
HashSet<String> hashSet = new HashSet<String>();
Set<String> set = hashSet;
// 实现类向上转型为接口
// 同理 Set<String> set = new HashSet<String>();
// 添加元素
set.add("a");
set.add("b");
set.add("c");
set.add("d");
// 获取集合中的元素长度
int a = set.size();
}
}

Iterator 接口 迭代器对象

Iterator - > Collection -> Set - > HashSet

hasNext() next()

it.hasNext() 是否还有元素

it.next() 取出元素

import java.util.Set;
import java.util.HashSet;
import java.util.Iterator;
public class Demo{
public static void main(String args[]){
HashSet<String> hashSet = new HashSet<String>();
Set<String> set = hashSet;
// 实现类向上转型为接口
// 同理 Set<String> set = new HashSet<String>();
// 添加元素
set.add("a");
set.add("b");
set.add("c");
set.add("d");
// 迭代器 iterator() 遍历整个set
// 通过迭代器取出集合中的对象
Iterator<String> it = set.iterator<String>();
while(it.hasNext){
String s = it.next();
System.out.println(s);
}
}
}

SetHashSetSet的实现类 使用

Iterator -> Collection -> Set -> HashSet

Iterator -> Collection -> List -> ArrayList

hasNext() 判断是否还有下一个元素

next() 取出这个元素,然后把游标移动到下一位

Map 与 HashMap(Map的实现类) 的使用

Map为映射,映射中的每个元素都有一个键对象和一个值对象,在Map中键是不可以重复的,值是可以重复的。从jdk1.2有了这个类。

java.util
Interface Map<K,V>
K - the type of keys maintained by this map
V - the type of mapped values

Map是一种对象,将keys键和values值建立起一种映射关系,一个map不能有重复的keys,每个key只能唯一映射到一个值。

方法 说明
put(K key, V value) map当中添加一个键值对
get(Object key) 获取值
import java.util.Map;
import java.util.HahMap;
public class Demo{
public static void main(String args[]){
HashMap<String,String> hasMap = new HashMap<String,String>();
Map<String,String> map = hasMap;
// 向上转型
// 同理 Map<Stirng,String> map = new HashMap<String,String>();
// put() 用来存放键值对
map.put("1","a");
map.put("2","b");
map.put("3","c");
// 获取长度
int i = map.size();
// 获取键为2的值
String s = map.get("2");
}
}

Map中键是不可以重复的,值是可以重复的。如果map中添加一样的键,那么新的值会覆盖老的值。

往后余生,唯独有你

简书作者:达叔小生

90后帅气小伙,良好的开发习惯;独立思考的能力;主动并且善于沟通

简书博客: https://www.jianshu.com/u/c785ece603d1

结语

  • 下面我将继续对 其他知识 深入讲解 ,有兴趣可以继续关注
  • 小礼物走一走 or 点赞

第41节:Java当中的类集框架的更多相关文章

  1. java中的类集框架

    1.什么是类集框架 1.是一组类和接口 2.位于java.util包当中 3.主要用于用户存储和管理对象 4.主要分为三大类——集合.列表和映射 2.类集框架图 虚线框的表示接口,实线框的表示实现类 ...

  2. 浅谈java类集框架和数据结构(1)

    在另外一篇博客我简单介绍了java类集框架相关代码和理论. 这一篇博客我主要分析一下各个类集框架的原理以及源码分析. 一:先谈谈LinkedList 这是LinkedList源码的开头,我们能看到几点 ...

  3. java:类集框架

    类集框架:jdk提供的一系列类和接口,位于java.util包当中,主要用于存储和管理对象,主要分为三大类:集合.列表和映射. 集合Set:用于存储一系列对象的集合.无序.不允许重复元素. 列表Lis ...

  4. 专题笔记--Java 类集框架

    Java 类集框架 1. Java类集框架产生的原因 在基础的应用中,我们可以通过数组来保存一组对象或者基本数据,但数组的大小是不可更改的,因此出于灵活性的考虑和对空间价值的担忧,我们可以使用链表来实 ...

  5. 浅谈java类集框架和数据结构(2)

    继续上一篇浅谈java类集框架和数据结构(1)的内容 上一篇博文简介了java类集框架几大常见集合框架,这一篇博文主要分析一些接口特性以及性能优化. 一:List接口 List是最常见的数据结构了,主 ...

  6. Java:类集框架中集合的学习

    Java:类集框架中集合的学习 集合 Java:Set的学习 Set是类集框架中的集合类.集合是不按特定的方式排序,并且没有重复对象的一种类. Q:Set如何操作?Set中的不按特定方式排序是怎么排序 ...

  7. Java类集框架详细汇总-底层分析

    前言: Java的类集框架比较多,也十分重要,在这里给出图解,可以理解为相应的继承关系,也可以当作重要知识点回顾: Collection集合接口 继承自:Iterable public interfa ...

  8. javase基础笔记4——异常/单例和类集框架

    继承 extends final关键 多态 是在继承的基础上 接口 interface 异常 exception 包的访问可控制权限 private default protect public 异常 ...

  9. 第53节:Java当中的IO流(上)

    Java当中的IO流 在Java中,字符串string可以用来操作文本数据内容,字符串缓冲区是什么呢?其实就是个容器,也是用来存储很多的数据类型的字符串,基本数据类型包装类的出现可以用来解决字符串和基 ...

随机推荐

  1. H5端密码控件自动化测试

    最近在做H5端UI自动化测试,其中遇到了一个棘手问题就是密码控件,因为密码控件的按钮每次都是随机不一样的,没法固定去点击输入密码.密码的输入框是div不是input,所以没法用send_keys()这 ...

  2. 带缓冲I/O 和不带缓冲I/O的区别与联系

    首先要明白不带缓冲的概念:所谓不带缓冲,并不是指内核不提供缓冲,而是只单纯的系统调用,不是函数库的调用.系统内核对磁盘的读写都会提供一个块缓冲(在有些地方也被称为内核高速缓存),当用write函数对其 ...

  3. python基础 (初识函数&函数进阶)

    函数基础部分 .什么是函数? 函数是组织好的,可重复使用的,用来实现单一,或相关联功能的代码段. 函数能提高应用的模块性,和代码的重复利用率. 2.定义函数 定义:def 关键词开头,空格之后接函数名 ...

  4. 【转】为什么分布式一定要有Redis?

    发现一篇好文. https://studygolang.com/articles/15064

  5. Django中发件邮箱的设定

    Django中发件邮箱的设定: EMAIL_BACKEND = 'django.core.mail.backends.smtp.EmailBackend'#邮件发送到邮件服务器 #EMAIL_BACK ...

  6. 2019西湖论剑web wp

    发在正文前 这应该是自己在安全圈摸爬滚打两年多以来第一次正规的ctf比赛.没解出flag,没截图,只提供了一些思路. 遥想往昔,初入大学,带着对PT的向往,一个人穿行在幽暗的图书馆,翻阅啃读一本本安全 ...

  7. IAR FOR AVR 仿真过程中出现全局变量值不断随意变化的问题

    本文记录使用IAR FOR AVR 使用过程中出现的问题,确保自己以后能够有史可查,也分享给遇到同样问题的朋友. 版本信息:IAR Assembler for AVR  5.40.0 (5.40.0. ...

  8. Scikit-learn 安装

    Scikit-Learn 3 pip 安装 如果安装了Python,没有安装pip,使用Windows + R,输入cmd,回车打开命令行,输入 python -m pip install -U pi ...

  9. thinkphp 5 使用oss

    简单的tp5中上传到 图片到oss我本地开发环境为:WAMP;php版本:5.6.19TP版本:5.1.13 1.使用composer 安装 composer require aliyuncs/oss ...

  10. jquery学习总结1-12

    一.jquery入口函数的几种写法 1.$(document).ready(function()  { } ) ; 2.jquery(document).ready(function()  { } ) ...