容器的概率强调了容器用来装对象,并且容量大小可变
JDK提供的容器API位于Java.util包内(里面有许多的工具)
容器的结构如下:
第一种:Collection。它是一个一个地装东西。他有两种:
(1)Set它只有一种即HashSet类,它像一个集合——没有顺序且不重复
(2)List它有两种LinkedList类和ArrayList类。它们装的东西有顺序,且可以重复。若两个对象相互equals则重复
第二种:Map。它只有一种既Hash Map类。Map接口定义了存储“键——值映射对”的方法。它是一对一对地装东西。
注意Collection,Set, List ,Map都是接口;HashSet,LinkedList,ArrayList,Hash Map是实现了Set, List ,Map接口的类
方法boolean contains(Object o) 如果此 collection 包含指定的元素,则返回 true。即测试在此 collection 中是否存在某元素。
方法boolean containsAll(Collection<?> c) 如果此 collection 包含指定 collection 中的所有元素,则返回 true。
方法boolean retainAll(Collection<?> c) 仅保留此 collection 中那些也包含在指定 collection 的元素。即求交集
import java.util.*;
public class BasicContainer {
public static void main(String[] args) {
Collection c = new HashSet();//体现了父类引用指向子类对象。这样的话,c具有Collection c的特性,而不具有HashSet的特性,所以以后换成ArrayList等时下面的代码依然不用更改,体现了灵活性。
c.add("hello");
c.add(new Name("f1","l1"));
c.add(new Integer(100));//往c里面添加东西时候,只可以是对象不可以是基础类型
c.remove("hello"); //去除hello。Collection重写了equals方法
c.remove(new Integer(100));//去除100
System.out.println(c.remove(new Name("f1","l1")));方法boolean remove(Object o)有一个返回值来判断去除是否成功。这里输出时false,因为没有重写equals方法,这两个"f1","l1"是不同的对象。方法public boolean equals(Object obj)指示其他某个对象是否与此对象“相等”。Object 类的 equals 方法实现对象上差别可能性最大的相等关系;即对于任何非空引用值 x 和 y,当且仅当 x 和 y 引用同一个对象时(也就是说当在stack中的x,y引用指向heap中的同一个对象时),此方法才返回 true(x == y 具有值 true)(这个是很难实现的,所以常重写equals方法)
System.out.println(c);
}
}
class Name {
private String firstName,lastName;
public Name(String firstName, String lastName) {
this.firstName = firstName; this.lastName = lastName;
}
public String getFirstName() { return firstName; }
public String getLastName() { return lastName; }
public String toString() { return firstName + " " + lastName; }
}
分享到:
相关推荐
### Java集合小结 #### 一、集合的概念与重要性 集合是Java编程语言中用于存储、管理和操作数据的一种重要工具。它提供了多种数据结构来适应不同的应用场景,从而有效地提高程序开发效率。从数据结构的角度来看,...
java集合类知识总结--思维导图文件xmind xmind文件类型 总结了java常用集合相关问题 包括map、set、list、数组等
主要描述了常用字节流的用法,附上一些代码!
文件"深入Java集合学习系列:HashMap的实现原理 - 莫等闲 - ITeye技术网站.mht"将详细解析HashMap的内部节点结构、扩容机制以及处理哈希冲突的方法。 接下来,ArrayList是一个动态数组,它继承自AbstractList并实现...
javacv官方最新全量jar包,javacv-platform-1.3.3-bin.zip,由于github国内下载较慢,此文件只作为分流,由于现在csdn没办法设置免费资源了,只能设置最低的2分,望大家见谅!
Java是一种广泛使用的面向对象的编程语言,以其平台独立性、安全性、健壮...这份"java基础教程----精华版"应该涵盖了这些主题,并且可能还有更多的实践指导和示例代码,对于学习和巩固Java编程基础是非常有价值的资源。
完整版 Java开发实训课程系列-Java高级应用编程 第1章 工具类(共65页).ppt 完整版 Java开发实训课程系列-Java高级应用编程 第2章 集合(共33页).ppt 完整版 Java开发实训课程系列-Java高级应用编程 第3章 文件与...
Java程序员集合框架面试题-java集合框架面试题.pdf,这是一份不错的文件
JavaCV(Java Computer Vision)是一个开源的计算机视觉库,它为Java和Android提供了对各种流行的计算机视觉库的访问,如OpenCV、FFmpeg、Face_recognition等。在本例中,我们关注的是`javacv-platform-1.3-bin.zip`...
合集部分目录Java集合学习-listArrayList学习Java集合学习-list- LinkesList学习Java集合学习-listJava集合学习-m
尚硅谷康师傅java学习笔记。 、2020-4-5 java学习笔记 2020-4-6 java笔记 ---内部类 2020-4-6 java笔记 ---异常 2020-4-6 java笔记 --多线程 2020-4-8 java笔记 String类 2020-4-9 java 比较器 2020-4-10 java笔记 ...
他一些常见的集合类----马克-to-win Java视频的详细描述
java入门学习视频 java一些基础性的知识 数组集合 I/o流等等 java入门学习视频 java一些基础性的知识 数组集合 I/o流等等
### Java机器学习WEKA 3-5-5 Explorer 用户指南 #### 1. 启动WEKA 在启动WEKA时,用户会看到一个菜单驱动的图形用户界面(GUI),该界面继承了旧版GUI选择器的功能,并采用了多文档界面(MDI)设计,使所有打开的窗口...
### Java集合类性能分析 #### 一、Java集合框架概览 Java集合框架是一个非常重要的概念,它提供了处理数据集合的标准方法。集合框架的核心部分主要包括集合接口、抽象类以及具体的实现类。 - **集合接口**:Java...
java8集合源码amazon-kinesis-data-analytics-java-getting-started 在 . 构建 JAR 创建target/aws-kinesis-analytics-java-apps-1.0.jar 。 $ make docker run --volume /home/kit/wrk/src/github....
### Java集合类原理详解 #### 1. 集合框架概述 集合框架是Java编程语言的核心组件之一,用于组织和操作数据集。它提供了一种灵活高效的方式来存储和访问对象集合,支持多种数据结构,如列表(List)、集(Set)、映射...
1. ArrayList:ArrayList是Java中的一种集合类型,用于存储数据点。 2. Map:Map是Java中的一种集合类型,用于存储质心和簇的对应关系。 3. SQL:SQL是用于操作数据库的语言,在k-means聚类算法中,需要使用SQL来...
根据提供的文档内容,文件是关于Java集合框架的面试题知识点总结。以下是Java集合框架的知识点详述: Java集合框架主要包括Collection接口和Map接口两大分支。Collection接口主要包括List、Set以及Queue三个子接口...
建立倒排索引的重要核心代码,介绍代码中的核心思想并且附上了流程图,通过解释和图形展示更好了解