java复习(7)---集合类、泛型
本节主要结合用例讲述Java中Map类、Set类、List类如何使用。
Java中有封装好的集合类,常用的有Map类、Set类、List类,简单说明一下他们的用法。
List类,常用有ArrayList和LinkedList,前者存可变数组,相当于数据结构中的顺序表;后者采用链表结构存,相当于单链表。
类方法: add(i)、size()、get(i)、set(i, obj)
Set类:常用有HashSet和TreeSet,如名,建哈希表/树存储。
类方法:first()、last()、subSet()、等
Map接口: 同时存key和value。
类方法:put(key, value)、get(key)、keySet()、values()等
补充知识:泛型
Object前面已经讲过,是所有变量类的父类,可在写方法时定义变量为Object,作为泛型。
具体使用方法时,用形如: new String(”123“); 代替object。
集合类和泛型具体测试样例如下,看一看就都懂啦~
package re07;
import java.util.*;
public class CollectionTest {
private Object b;
public void setB(Object b) {
this.b = b;
}
public Object getB() {
return b;
}
public static void main(String[] args) {
Collection<String> list1 = new ArrayList<>(); // Collection练习
list1.add("a");
list1.add("b");
System.out.println(list1.size());
List<String> list2 = new ArrayList<>(); // list集合练习
list2.add("a");
list2.add("b");
for (int i = 0; i < list2.size(); i++) {
System.out.println(list2.get(i));
}
TreeSet<String> tree = new TreeSet<>(); // set集合练习
tree.add("a");
tree.add("b");
tree = (TreeSet<String>) tree.subSet("a", "b");
System.out.println(tree.first());
Map<String, String> map = new HashMap<>(); // map集合练习
map.put("1", "a");
map.put("2", "b");
System.out.println(map.values().toString() + map.keySet().toString());
// 泛型使用
CollectionTest test = new CollectionTest();
test.setB(new String("泛型")); // 向上转型
System.out.println((String)test.getB()); // 向下转型
}
}
java复习(7)---集合类、泛型的更多相关文章
- Java复习——反射和泛型的复习
反射 Class类 一个类被类加载器加载到内存之中,占有一片区域,这个空间里的内容就是类的字节码,不同的类的字节码是不一样的,这一个个空间页可以使用类来表示,这就是Class类. 根据这个概念可知:不 ...
- JAVA基础部分复习(三、泛型)
JAVA泛型的基本使用: /** * JAVA泛型的使用 * 定义:泛型的本质是参数化类型,就是说所操作的数据类型被指定为一个参数. * * 定义泛型方法的规则 * 1.所有泛型方法声明都有一个类型参 ...
- java 复习001
java 复习001 比较随意的记录下我的java复习笔记 ArrayList 内存扩展方法 分配一片更大的内存空间,复制原有的数据到新的内存中,让引用指向新的内存地址 ArrayList在内存不够时 ...
- JAVA提高六:泛型
在面向对象编程语言中,多态算是一种泛化机制.例如,你可以将方法的参数类型设置为基类,那么该方法就可以接受从这个基类中导出的任何类作为参数,这样的方法将会更具有通用性.此外,如果将方法参数声明为接口,将 ...
- java 复习总结
java 复习总结 命名方法 创建文件的名称应该和类的名称一致,不然会报错. 类采用首字母大写的方式来命名,如果是多个单词的类名,则每个单词首字母都大写,例如:HelloWorld . 方法采用驼峰命 ...
- 《徐徐道来话Java》(2):泛型和数组,以及Java是如何实现泛型的
数组和泛型容器有什么区别 要区分数组和泛型容器的功能,这里先要理解三个概念:协变性(covariance).逆变性(contravariance)和无关性(invariant). 若类A是类B的子类, ...
- java 复习003 之排序篇
由java 复习003跳转过来的C语言实现版见some-sort-algorithms 快速排序(不稳定 O(n log n)) package vell.bibi.sort_algorithms; ...
- java复习(1)---java与C++区别
[系列说明]java复习系列适宜有过java学习或C++基础或了解java初步知识的人阅读,目的是为了帮助学习过java但是好久没用已经遗忘了的童鞋快速捡起来.或者教给想快速学习java的童鞋如何应用 ...
- 【原】Java学习笔记027 - 泛型
package cn.temptation.test; import java.util.ArrayList; import java.util.Iterator; public class Samp ...
随机推荐
- ajax详细讲解和封装包括HTTP状态码
AJAX(异步的JavaScript和XML,用异步的形式去操作xml) 主要的作用:数据交互 好处: 1.节省用户的操作时间 2.提高用户 ...
- 3DES 加密 解密
p.p1 { margin: 0.0px 0.0px 0.0px 0.0px; font: 18.0px Menlo; color: #c91b13 } p.p2 { margin: 0.0px 0. ...
- [No0000C1]Excel 删除空白行和空白列VBA代码
在exce中删除空行和空列的方法有很多,相对而言删除空行较为简单,只需进行筛选,将空白行筛选出来,删除即可,但要删除空列比较困难.因为你不能按列进行筛选删除.Excel中没有这个功能.当然你可以用另外 ...
- .Net程序员学用Oracle系列(22):分析函数(OVER)
1.函数语法 1.1.语法概述 1.2.窗口详解 1.2.1.ROWS 窗口 1.2.2.RANGE 窗口 2.函数用法 2.1.普通统计类函数 2.2.数据排序类函数 2.3.数据分布类函数 2.4 ...
- 3.java的hello word.继承.泛型.反射.配置项.数据库操作.lombok
迷迷茫茫的开始了第一步.弄个hello word.结果这第一小步也不是那么的顺利. 明明照着图敲的.可就是没有运行选项. 为此还百度了一下.也没有什么答案.最后只能老老实实的看了.结果还是粗心的问题. ...
- 小故事理解TCP/IP连接时的三次握手
在TCP/IP协议中,TCP协议通过三次握手建立一个可靠的连接,示意图如下: 下面通过一个小故事简单理解一下这三次握手的具体含义: 一天,快递员小客(客户端)准备去小服(服务器)家去送快递(准备与服务 ...
- Android7.0 Phone应用源码分析(四) phone挂断流程分析
电话挂断分为本地挂断和远程挂断,下面我们就针对这两种情况各做分析 先来看下本地挂断电话的时序图: 步骤1:点击通话界面的挂断按钮,会调用到CallCardPresenter的endCallClicke ...
- C语言之一天一个小程序
程序示例: #include <stdio.h> #include <stdlib.h> int main() { printf("Hello,world!\n&qu ...
- Linux+Nginx+Asp.net Core部署
上篇<Docker基础入门及示例>文章介绍了Docker部署,以及相关.net core 的打包示例.这篇文章我将以oss.offical.site站点为例,主要介绍下在linux机器下完 ...
- APIJSON-以坚持和偏执,回敬傲慢和偏见
APIJSON简介: APIJSON是一种JSON传输结构协议. 客户端可以定义任何JSON结构去向服务端发起请求,服务端就会返回对应结构的JSON字符串,所求即所得. 一次请求任意结构任意数据,方便 ...