本节主要结合用例讲述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)---集合类、泛型的更多相关文章

  1. Java复习——反射和泛型的复习

    反射 Class类 一个类被类加载器加载到内存之中,占有一片区域,这个空间里的内容就是类的字节码,不同的类的字节码是不一样的,这一个个空间页可以使用类来表示,这就是Class类. 根据这个概念可知:不 ...

  2. JAVA基础部分复习(三、泛型)

    JAVA泛型的基本使用: /** * JAVA泛型的使用 * 定义:泛型的本质是参数化类型,就是说所操作的数据类型被指定为一个参数. * * 定义泛型方法的规则 * 1.所有泛型方法声明都有一个类型参 ...

  3. java 复习001

    java 复习001 比较随意的记录下我的java复习笔记 ArrayList 内存扩展方法 分配一片更大的内存空间,复制原有的数据到新的内存中,让引用指向新的内存地址 ArrayList在内存不够时 ...

  4. JAVA提高六:泛型

    在面向对象编程语言中,多态算是一种泛化机制.例如,你可以将方法的参数类型设置为基类,那么该方法就可以接受从这个基类中导出的任何类作为参数,这样的方法将会更具有通用性.此外,如果将方法参数声明为接口,将 ...

  5. java 复习总结

    java 复习总结 命名方法 创建文件的名称应该和类的名称一致,不然会报错. 类采用首字母大写的方式来命名,如果是多个单词的类名,则每个单词首字母都大写,例如:HelloWorld . 方法采用驼峰命 ...

  6. 《徐徐道来话Java》(2):泛型和数组,以及Java是如何实现泛型的

    数组和泛型容器有什么区别 要区分数组和泛型容器的功能,这里先要理解三个概念:协变性(covariance).逆变性(contravariance)和无关性(invariant). 若类A是类B的子类, ...

  7. java 复习003 之排序篇

    由java 复习003跳转过来的C语言实现版见some-sort-algorithms 快速排序(不稳定 O(n log n)) package vell.bibi.sort_algorithms; ...

  8. java复习(1)---java与C++区别

    [系列说明]java复习系列适宜有过java学习或C++基础或了解java初步知识的人阅读,目的是为了帮助学习过java但是好久没用已经遗忘了的童鞋快速捡起来.或者教给想快速学习java的童鞋如何应用 ...

  9. 【原】Java学习笔记027 - 泛型

    package cn.temptation.test; import java.util.ArrayList; import java.util.Iterator; public class Samp ...

随机推荐

  1. 团队项目中js冲突

    在我们平时的项目中,特别是模块化开发中.经常会遇到一些js冲突问题,特别是当项目复杂到一定程度的时候.比如项目中引入了相当多的类库,框架以后. 那么.我们如何去避免或者解决这类问题呢? 1.避免使用全 ...

  2. maven构建maven-project和maven-module

    在Eclipse中创建Maven多模块工程的例子 更多0   如果,你需要创建多个项目,项目之间即独立又有关系,那么创建一个Maven多模块项目是个非常好的选择,也非常cool!怎么在Eclipse里 ...

  3. js 各进制前缀 及 转换

    二进制前缀0b var a=0b11;//a=3 八进制前缀0 var a=011;//a=9 十进制不用前缀 十六进制前缀0x var a=0x11;//a=17 数字转各进制字符串用num.toS ...

  4. Azure Messaging-ServiceBus Messaging消息队列技术系列4-复杂对象消息是否需要支持序列化和消息持久化

    在上一篇中,我们介绍了消息的顺序收发保证: Azure Messaging-ServiceBus Messaging消息队列技术系列3-消息顺序保证 在本文中我们主要介绍下复杂对象消息是否需要支持序列 ...

  5. python3.4 安装 scrapy 报错 VS2010

    安装scrapy框架报错是常见问题 还好,本人只碰到其中一个bug,以下是此次安装经验 环境 py3.4 windows7 64位 安装有VS2010 pip包管理(pycharm) 报错信息 安装l ...

  6. .NET的HTTP辅助类:RestSharp

    示例: var client = new RestClient("http://example.com");// client.Authenticator = new HttpBa ...

  7. python 接口自动化测试--框架定型(六)

    脚本执行步骤: 1.还原测试数据库: 2.读取接口用例CSV文件到数据库: 3.执行数据库中标记执行的用例: 4.对比预期结果,将测试结果写入数据库结果表中. 数据管理: 事先备份测试数据库,并搭建自 ...

  8. yii2.0下拉列表的使用

    第一种方法:ActiveForm 类的 dropDownList 方法(优点,默认使用yii的样式) 1.在控制器的方法里面 ,我们需要拿到数据,一定是 findAll() 或者是 all() 方法的 ...

  9. .Net轻量级ORM-NPoco的使用方法-摘自NPoco国外官方Wiki

    文章引用自NPoco官方Wiki,地址:https://github.com/schotime/NPoco/wiki,因公司网络不稳定,有时无法访问,特将其摘抄. Home Adam Schroder ...

  10. 爱回收jd图标

    http://jd.aihuishou.com/images/icons.png http://misc.360buyimg.com/201007/skin/df/i/bg_hotsale.gif 来 ...