Java集合框架学习笔记11.18

2024-04-22 19:08

本文主要是介绍Java集合框架学习笔记11.18,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

1.集合的概念

对象的容器,实现了对多个对象进行操作的常用方法

和数组区别:

(1)数组长度固定,集合长度不固定

(2)集合只能存储引用类型


2.Collection父接口

Collection父接口:无序,无下表,不能重复 

使用:

先用接口下的类定义一个对象容器

然后

XX.add(A)为增加对象

XX.remove(A)为删除对象

XX.size()是查看大小

XX.toArray(转化成数组)

补充:

Arrays.asList(数组),产生新的集合,但是不能增删

调用静态类Collections的方法

Collections.binarySearch(二分查找)

Collections.sort(排序)

Collections.reverse(反转)

Collection.shuffle(打乱)

Collections.copy(要复制的,被复制的)(但要大小一样)

直接用

遍历:

使用迭代器(迭代器专门用来遍历集合的一种方式)(Iterator是集合的方法,创建接口)

hasNext()

next

remove删除当前元素

判断:

contains()

equals

hashcode给个哈希值


3.List接口与实现类(ArrayList,LinkedList)

List接口:有序,有下表,元素可重复

常用方法:

get(位置)获取该位置的数

add(位置,对象);插入元素

addAll(位置,集合);插入集合的元素

indexOf返回角标

遍历:

新增可以使用列表迭代器

previous是从后往前

next是从前往后

实现类:

ArrayList※,数组结构,查询快,增删慢,效率快

Vector,数组结构,查询快,增删慢,效率慢

可以用.Enumeration创建枚举器(跟迭代器差不多)

LinkedList,链表结构实现,增删快,查询慢


4.泛型

泛型就是把类型作为参数传递。

有泛型类,泛型接口,泛型方法。

<大写字母,...>T称为类型占位符,表示一种引用类型

使用:

泛型类:

类名+<T>

T t;使用泛型类定义

public T show(T t){使用泛型类做方法

        sout.t

}

名<引用类型> 名 = new 名<类型>() 使用泛型类创建对象

泛型接口:

接口名+<T>

泛型方法:

<T> 返回值类型

定义<T> void XX(T t){ }

使用XX(A)

会根据A的类型自动补T

泛型集合:

默认为Object影响使用,可以改成其他


5.Set接口与实现类(HashSet,TreeSet)

Set接口:无序,无下表,元素不能重复

方法全部继承Collection

使用指令与List相似

add,remove,clear(),iterator

实现类:

HashSet,两次比较会调用hashcode和equals进行确认,如果相同,会认为重复,如果不同,会形成链表

TreeSet,红黑树基于排序顺序实现,用接口SortedSet自动排序,元素必须继承Comparable接口,元素必须实现CompareTo,通过CompareTo方法确定是否重复(方法返回0为重复)

6.Map接口与实现类

 Map接口的特点:

用来储存任意键值对,键不可能重复,值可重复

方法:

put(key,balue)存入

get(key)根据键获取对应的值

keyset()返回key的集合,可以用Set接着

entryset()返回类型为map.Entry的集合

containsKey比较键

containsValue比较值

遍历:

调用实现类map对象的keySet方法,返回含Key的Set集合

调用实现类map对象的entrySet方法,返回类型为Map.Entry的映射对的Set集合,用get(效率更高)

实现类

HashMap【重点】

Hashtable【不常用】

Properties【用于配置文件的读取】

TreeMap,基于排序顺序实现,用接口SortedSet自动排序,元素必须继承Comparable接口,元素必须实现CompareTo,通过CompareTo方法确定是否重复(方法返回0为重复)

7.总结

这篇关于Java集合框架学习笔记11.18的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/926625

相关文章

Java实现按字节长度截取字符串

《Java实现按字节长度截取字符串》在Java中,由于字符串可能包含多字节字符,直接按字节长度截取可能会导致乱码或截取不准确的问题,下面我们就来看看几种按字节长度截取字符串的方法吧... 目录方法一:使用String的getBytes方法方法二:指定字符编码处理方法三:更精确的字符编码处理使用示例注意事项方

Spring三级缓存解决循环依赖的解析过程

《Spring三级缓存解决循环依赖的解析过程》:本文主要介绍Spring三级缓存解决循环依赖的解析过程,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、循环依赖场景二、三级缓存定义三、解决流程(以ServiceA和ServiceB为例)四、关键机制详解五、设计约

spring IOC的理解之原理和实现过程

《springIOC的理解之原理和实现过程》:本文主要介绍springIOC的理解之原理和实现过程,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、IoC 核心概念二、核心原理1. 容器架构2. 核心组件3. 工作流程三、关键实现机制1. Bean生命周期2.

解决tomcat启动时报Junit相关错误java.lang.ClassNotFoundException: org.junit.Test问题

《解决tomcat启动时报Junit相关错误java.lang.ClassNotFoundException:org.junit.Test问题》:本文主要介绍解决tomcat启动时报Junit相... 目录tomcat启动时报Junit相关错误Java.lang.ClassNotFoundException

Gradle下如何搭建SpringCloud分布式环境

《Gradle下如何搭建SpringCloud分布式环境》:本文主要介绍Gradle下如何搭建SpringCloud分布式环境问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地... 目录Gradle下搭建SpringCloud分布式环境1.idea配置好gradle2.创建一个空的gr

JVM垃圾回收机制之GC解读

《JVM垃圾回收机制之GC解读》:本文主要介绍JVM垃圾回收机制之GC,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、死亡对象的判断算法1.1 引用计数算法1.2 可达性分析算法二、垃圾回收算法2.1 标记-清除算法2.2 复制算法2.3 标记-整理算法2.4

springboot集成Lucene的详细指南

《springboot集成Lucene的详细指南》这篇文章主要为大家详细介绍了springboot集成Lucene的详细指南,文中的示例代码讲解详细,具有一定的借鉴价值,感兴趣的小伙伴可以跟随小编一起... 目录添加依赖创建配置类创建实体类创建索引服务类创建搜索服务类创建控制器类使用示例以下是 Spring

Java调用Python的四种方法小结

《Java调用Python的四种方法小结》在现代开发中,结合不同编程语言的优势往往能达到事半功倍的效果,本文将详细介绍四种在Java中调用Python的方法,并推荐一种最常用且实用的方法,希望对大家有... 目录一、在Java类中直接执行python语句二、在Java中直接调用Python脚本三、使用Run

Java根据IP地址实现归属地获取

《Java根据IP地址实现归属地获取》Ip2region是一个离线IP地址定位库和IP定位数据管理框架,这篇文章主要为大家详细介绍了Java如何使用Ip2region实现根据IP地址获取归属地,感兴趣... 目录一、使用Ip2region离线获取1、Ip2region简介2、导包3、下编程载xdb文件4、J

浅析如何使用xstream实现javaBean与xml互转

《浅析如何使用xstream实现javaBean与xml互转》XStream是一个用于将Java对象与XML之间进行转换的库,它非常简单易用,下面将详细介绍如何使用XStream实现JavaBean与... 目录1. 引入依赖2. 定义 JavaBean3. JavaBean 转 XML4. XML 转 J