首页 > 编程语言 > Day2-java泛型与集合

Day2-java泛型与集合

时间:2023-05-27 14:23:32浏览次数:47  
标签:java List 元素 Day2 指定 集合 类型 泛型

 

  1. ArrayList类的使用
  2. Set接口及实现类的使用  了解
  3. 对象顺序,Comparable接口及其使用
  4. Queue接口和实现类的使用  了解
  5. Map接口及实现类的使用
  6. Collections类的实用方法操作List对象
  7. StreamAPI的使用  了解

泛型类型 

取出和输入不用强制类型转换

泛型是带一个或多个类型参数的类或接口

Node<T> node = new Node<T>();
或者
Node<T> node = new Node<>();

泛型类型的使用与方法调用类似,方法调用需向方法传递参数,使用泛型需传递一个类型参数,即用某个具体的类型替换T。

常用的类型参数名:

E(元素)、K(键)、N(数字)、T(类型)、V(值)。

泛型可能具有多个类型参数,但在类和接口的声明中,每个参数名必须是唯一的。例

 

public interface Entry<K,V>{
    public K getKey();
    public V getValue();
}

Pair<Integer,String> p1 = new Pair<>(20,"twenty");
Pair<String,String> p2 = new Pair<>("China","Beijing");

 

泛型方法

泛型方法是带类型参数的方法,类的成员方法和构造方法都可以定义为泛型方法。

泛型方法类型参数的作用域仅限于声明的方法和构造方法内。

可为静态也可为非静态。

public static <T> void swap(T[] array,int i,int j){
}

通配符(?)的使用

public static void printList(List<?> list){
}

表示该方法可接受的元素是任何类型的List对象

有界类型参数

限制传递类型参数的类型种类。

有界类型分为上界和下界,上界用extends指定,下届用super指定.

例:声明上(下)界类型参数,使用?,后跟extends(super)关键字,然后是上(下)界类型

List<? extends Number> numberList

 

集合框架

集合是集中存放一组对象的一个对象。相当于一个容器,提供保存,获取和操作其他元素的方法。

java集合框架由Collection和Map构成,Collection对象用于存放一组对象,Map对象用于存放一组“关键字/值”的对象。

 Collection接口的集合操作常用方法可分为基本操作,批量操作,数组操作,流操作。

基本操作:有添加元素,删除指定元素,返回集合中元素的个数,返回集合的迭代器对象。

  • add(E e):向集合中添加元素e;
  • remove(Object o):从集合中删除指定的元素o;
  • contains(Object o):返回集合中是否包含指定的元素o;
  • size():返回集合中包含的元素个数;
  • iterator():返回包含所有元素的迭代器对象

批量操作:

  • addAll(Collection<? extends E> c):将集合c中的所有元素添加到当前集合中;
  • removeAll(Collection<?>c):从当前集合中删除c中的所有元素;
  • containsAll(Collection<?>c):返回当前集合是否包含c中的所有元素;
  • retainAll(Collection<?>c):在当前集合中只保留指定集合c中的元素,其他元素删除;
  • clear():将集合清空

数组操作:将集合元素转换成数组元素

  • Object[ ] toArray():返回包含集合中所有元素的对象数组

List接口及实现类

List接口是Collection的子接口,实现一种线性表的数据结构,存放在List中的元素都从下标0开始,可包含重复元素。

List的操作:既继承Collection的方法,还实现可定位访问、查找、迭代、返回子线性表

  • get(int index):返回指定下标处的元素;
  • set(int index,E element):修改指定下标处的元素;
  • add(int index,E element):将指定元素插入到指定下标处;
  • remove(int index):删除指定下标处的元素;
  • iterator():获得表的遍历器;
  • indexOf(Object o):查找指定对象第一次出现的位置;
  • lastIndexOf(Object o):查找指定对象最后一次出现的位置;
  • List<E>subList(int from,int to):返回从from到to元素的一个子线性表;

List虽然继承Collection,但有的操作不同,如:remove():从线性表中删除指定首次出现的元素

                     add()和addAll():将元素插入到线性表的末尾

ArrayList类

元素可以动态地增加和删除。

 

标签:java,List,元素,Day2,指定,集合,类型,泛型
From: https://www.cnblogs.com/jiay-gm-xxrj-/p/17420536.html

相关文章

  • java中HashMap的实现原理
    HashMap是Java中常用的一种存储结构,它通过哈希表实现了快速查找数据的功能,下面是它的具体实现原理:HashMap内部存储结构HashMap的内部实现是一个数组和一个链表组成的。数组称为哈希表,用于保存实际存储的数据,链表则用于处理哈希冲突,即不同的键值对可能会被存储到哈希表的同一个位置......
  • jdepend java 包依赖分析库
    jdepend是一个java库,可以通过便利源码以及javaclass生成每个java包的质量metrics说明对于比较关心代码质量,或者需要在持续交付中关注质量metrics的jdepend是一个值得使用的工具参考资料https://github.com/clarkware/jdepend......
  • liteflow 一个强大的java 规则框架
    liteflow是一个java规则引擎,融合了编排以及规则引擎的能力,功能上很强大,支持比较复杂的编排(swtich,when,if,while,for。。。)同时还支持的不少的脚本引擎,我们同时还可以将规则存储在外部,实现一些规则管理以及reload说明liteflow对于java生态集成的特别好,是一个很不错的开源规则引......
  • 小马哥Java分布式架构训练营第一期服务治理-鱼龙潜跃水成文
    小马哥Java分布式架构训练营第一期服务治理download:3w51xuebccom使用Netty和SpringBoot实现仿微信的示例在本文中,我们将使用Netty和SpringBoot框架来创建一个简单的聊天应用程序,类似于微信。这个应用程序将支持多用户聊天和即时消息发送。下面让我们来一步步看看如何实现。第一......
  • MySQL学习进阶篇Day2
    2.索引2.1索引概述2.1.1介绍索引(index)是帮助MySQL高效获取数据的数据结构(有序)。在数据之外,数据库系统还维护着满足特定查找算法的数据结构,这些数据结构以某种方式引用(指向)数据,这样就可以在这些数据结构上实现高级查找算法,这种数据结构就是索引。 一提到数据结构,大......
  • JAVA的内部类
    JAVA的内部类写在一个类里面的类就叫内部类分类成员内部类:写在成员位置的,属于外部类的成员静态内部类:是一种特殊的成员内部类局部内部类:将内部类定义在方法里面匿名内部类:隐藏了名字的内部类,可以写在成员位置也可以写在局部位置获取成员内部类的两种方法当成......
  • Java语言的简单介绍
    1.计算机语言概述​计算机语言是一种特殊的语言。因为它是用于人与计算机之间传递信息的,所以人和计算机都能“读懂”。具体地说,一方面,人们要使用计算机语言指挥计算机完成某种特定动作,就必须对这种工作进行特殊描述,所以它能够被人们读懂。另一方面,计算机必须按计算机语言描......
  • java开发学习框架
    Java基础1.1.Java简介与安装1.2.Java基本语法1.3.数据类型与变量1.4.运算符与表达式1.5.流程控制(分支与循环)1.6.数组面向对象编程2.1.类与对象2.2.继承与多态2.3.接口与抽象类2.4.封装与访问控制2.5.重载与覆盖2.6.Java内存管理与垃圾回收Java常用......
  • 1.1. Java简介与安装
    Java简介Java是一种广泛使用的计算机编程语言,由JamesGosling和他的团队在SunMicrosystems公司开发,于1995年首次发布。Java的设计理念是“一次编写,到处运行”,这意味着Java应用程序可以在任何支持Java运行时环境(JRE)的设备上运行,而无需重新编译。Java的主要特点包括:面向对象:Java......
  • Java基本语法
    类与文件名在Java中,每个程序都是以类为基础进行编写的。一个简单的Java程序通常包含一个类,类名应该以大写字母开头。Java源代码文件的文件名必须与类名相同,并以.java作为文件扩展名。例如,下面是一个名为HelloWorld的简单Java程序:publicclassHelloWorld{publ......