Java复习 之容器

Wesley13
• 阅读 417

小生快要准备找工作了 现在开始复习一下Java基础之容器

Java复习 之容器

Set和List是一个个往里面存 Map是两个两个往里面装

所谓重复指的是他们互相equals

Collection 接口定义了存取一组对象的方法,其子接口Set和List分别定义了存储方式

Set中的数据对象没有顺序并且不可以重复

List中的数据对象有顺序并且可以重复

Map接口定义了健值映射对的存储方法

1.Collection中的方法

Java复习 之容器

例1.

package com.hw.Prepare;

import java.util.*;

public class test3 {
        public static void main(String[] args){
                Collection a = new ArrayList();
                a.add(new Integer(1));
                a.add(new String("加油"));
                a.add(new String("1331"));
                System.out.println(a.size());
                System.out.println(a);
        }
}

运行结果

Java复习 之容器

容器类对象在调用remove,contains等方法时会先比较对象是否相等,这将会涉及到对象类型的equals和hashcode方法,对于自定义的类型,需要重写equals和hashcode方法以实现自定义对象的对象相等规则

例如 增加Name类相等的equals和hashcode的方法如下

Java复习 之容器

hashcode经常作为索引,能方便地找到对象的位置 效率比较高

Iterator:

Java复习 之容器

例子1:

Java复习 之容器

例子二:

Java复习 之容器

增强的for循环

Java复习 之容器

Set接口是collection的子接口,Set接口是collecion的子接口,set接口没有提供额外的方法,但是实现set接口的容器类中的元素是没有顺序的,而且不可以重复。

set容器可以跟数学中的集合相对应

Hashset、TreeSet

Java复习 之容器

retainall

求交集

Java复习 之容器

ArrayList 数组 LinkList 链表

Java复习 之容器

例子

Java复习 之容器

java.util.collections

Java复习 之容器

 Java复习 之容器

如何选择数据结构

衡量标准:读的效率和改的效率

Array读快改慢

Linked改快读慢

Hasn两者之间

Map

Java复习 之容器

不能重复指的是equals 用hashcode比较效率比较高

例子

Java复习 之容器

jdk1.5可以自动打包 自动包装为对象 或自动把对象转为基础类型

例子

Java复习 之容器

例子

Java复习 之容器

改成自动打包 解包

Java复习 之容器

泛型:

Java复习 之容器

例子2

Java复习 之容器

例子

Java复习 之容器

总结

Java复习 之容器

点赞
收藏
评论区
推荐文章
Wesley13 Wesley13
2年前
java 11 不可修改集合API
不可修改集合API自Java9开始,Jdk里面为集合(List/Set/Map)都添加了of和copyOf方法,它们两个都用来创建不可变的集合,来看下它们的使用和区别。示例1:varlistList.of("Java","Python","C");varcopyList.copy
Wesley13 Wesley13
2年前
java集合基础复习
温故知新,好一段学习时间过后到了收割的季节。java中集合java.util包下的一个集合根接口collection,其子接口list和set,map接口定义keyvalue键值对。ArrayList、linkedlist、vector实现了list接口。也称线性集合。数据有序可重复。ArrayList:底层实现的数组,线程不安全的,效率
Wesley13 Wesley13
2年前
java基础(五)集合
!(https://images2015.cnblogs.com/blog/875181/201609/875181201609211007331061187286566.png)Collection接口是集合类的根接口,Java中没有提供这个接口的直接的实现类。但是却让其被继承产生了两个接口,就是Set和List。Set中不能包含重复的元素。L
zdd小小菜鸟 zdd小小菜鸟
1年前
Java基础面试
Java基础面试1.Java集合类的总结tex1、Iterator:Collection(值)、Map(键值对);2、Collection:Set(无序不重复)、List(有序可重复)、Queue;3、Set:H
Wesley13 Wesley13
2年前
Java深究之Vector、ArrayList、LinkedList的区别
       在java开发中除了上文经常用的对字符串的操作外,还有使用居多的当属集合了。在基础的java学习时,相信很多同学都学习了List、Set、Map这些,他们之间的区别和基本的使用方法也是很了解了,本文是详细的去分析List中Vector、ArrayList、LinkedList之间的区别和底层实现原理以及使用场景首先说下这三者的区别:
Wesley13 Wesley13
2年前
Java爬虫之JSoup使用教程
title:Java爬虫之JSoup使用教程date:201812248:00:000800update:201812248:00:000800author:mecover:https://imgblog.csdnimg.cn/20181224144920712(https://www.oschin
Stella981 Stella981
2年前
List、Map、Set三个接口存取元素时,各有什么特点
List接口以特定索引来存取元素,可以有重复元素Set接口不可以存放重复元素(使用equals方法区分是否重复)Map接口保存的是键值对(keyvaluepair)映射,映射关系可以是一对一或者多对一(key唯一)Set和Map容器都有基于哈希存储和排序树的两种实现版本。基于哈希存储的版本的实现理论存取时间复杂度是O(1),而基于排序树版本的
Wesley13 Wesley13
2年前
JAVA并发容器代码随读
1.java.util.concurrent所提供的并发容器java.util.concurrent提供了多种并发容器,总体上来说有4类,队列类型的BlockingQueue和 ConcurrentLinkedQueue,Map类型的ConcurrentMap,Set类型的ConcurrentSkipListSet和CopyOnWri
Wesley13 Wesley13
2年前
Java核心(四)你不知道的数据集合
!数据容器关系图(http://icdn.apigo.cn/blog/collection002.png)导读:Map竟然不属于Java集合框架的子集?队列也和List一样属于集合的三大子集之一?更有队列的正确使用姿势,一起来看吧!Java中的集合通常指的是Collection下的三个集合框架List、Set、Queue和Map集合,Map并不
Wesley13 Wesley13
2年前
JAVA复习之java语言基础
java复习:JAVA基础第一章(第一部分)常量变量基础数据类型引用数据类型(https://www.oschina.net/action/GoToLink?urlhttps%3A%2F%2Fblog.csdn.net%2Fqq_33958815%2Farticle%2Fdetails%2F108013927).!在这里插入图片描述(