`
hl756799782
  • 浏览: 78201 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

Java集合学习小结(1)--转载

阅读更多
容器的概率强调了容器用来装对象,并且容量大小可变

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编程语言中用于存储、管理和操作数据的一种重要工具。它提供了多种数据结构来适应不同的应用场景,从而有效地提高程序开发效率。从数据结构的角度来看,...

    Java 第二阶段提升编程能力【集合】---- 代码

    Java 第二阶段提升编程能力【集合】---- 代码 Java 第二阶段提升编程能力【集合】---- 代码 Java 第二阶段提升编程能力【集合】---- 代码 Java 第二阶段提升编程能力【集合】---- 代码 Java 第二阶段提升编程能力...

    java集合类知识总结--思维导图文件xmind

    java集合类知识总结--思维导图文件xmind xmind文件类型 总结了java常用集合相关问题 包括map、set、list、数组等

    javacv-platform-1.3-bin.zip

    JavaCV(Java Computer Vision)是一个开源的计算机视觉库,它为Java和Android提供了对各种流行的计算机视觉库的访问,如OpenCV、FFmpeg、Face_recognition等。在本例中,我们关注的是`javacv-platform-1.3-bin.zip`...

    Java学习IO流小结--字节流

    主要描述了常用字节流的用法,附上一些代码!

    深入Java集合学习系列

    文件"深入Java集合学习系列:HashMap的实现原理 - 莫等闲 - ITeye技术网站.mht"将详细解析HashMap的内部节点结构、扩容机制以及处理哈希冲突的方法。 接下来,ArrayList是一个动态数组,它继承自AbstractList并实现...

    javacv-platform-1.3.3-bin.zip

    javacv官方最新全量jar包,javacv-platform-1.3.3-bin.zip,由于github国内下载较慢,此文件只作为分流,由于现在csdn没办法设置免费资源了,只能设置最低的2分,望大家见谅!

    第3节 完整版 Java开发实训课程系列-Java高级应用编程 全套PPT课件资源集合 共6个章节 含习题答案.rar

    完整版 Java开发实训课程系列-Java高级应用编程 第1章 工具类(共65页).ppt 完整版 Java开发实训课程系列-Java高级应用编程 第2章 集合(共33页).ppt 完整版 Java开发实训课程系列-Java高级应用编程 第3章 文件与...

    java-8-openjdk-amd64

    1. **下载**:从官方或者第三方源获取`java-8-openjdk-amd64.tar.gz`压缩包。 2. **解压**:使用`tar`命令解压文件到指定目录。 3. **配置环境变量**:修改`~/.bashrc`或`~/.bash_profile`文件,添加`JAVA_HOME`、`...

    java笔记.zip

    尚硅谷康师傅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笔记 ...

    JavaReport-V3-Enterprise-Released.part 3

    JavaReport-V3-Enterprise-Released,第三卷...

    Java-Java集合教程

    通过学习Java集合教程,开发者可以掌握如何高效地管理对象集合,以及在不同场景下选择合适的集合类型。视频教程将通过实例和演示,帮助学习者更直观地理解和运用这些概念。在实际项目中,熟练掌握Java集合框架能极大...

    selenium-java-2.47.1.zip

    这个压缩包 "selenium-java-2.47.1.zip" 包含了Selenium的Java版本,具体是2.47.1的更新,发布于2015年8月。这个版本在当时是一个稳定且广泛使用的版本,它提供了丰富的API,支持多种浏览器,并且可以与各种测试框架...

    java8集合源码-amazon-kinesis-data-analytics-java-getting-started:构建AmazonKi

    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中关于集合的操作

    以上内容涵盖了Java中集合操作的基本概念和常见用法,对于初学者来说,理解和掌握这些知识点是学习Java编程的基础。通过实际编程练习和参考相关PPT材料,可以更深入地理解这些概念并提高编程能力。

    基于java的倒排索引

    建立倒排索引的重要核心代码,介绍代码中的核心思想并且附上了流程图,通过解释和图形展示更好了解

    java-jdk-8u51-windows-x64.exe.zip

    1. **Java Development Kit (JDK)**: JDK是Java编程语言的核心组件,它包含了Java编译器、调试器、Java运行时环境(JRE)以及各种工具,如JavaDoc和JavaArchive(JAR)工具,使得开发者能够创建、测试和部署Java应用...

    java8集合源码分析-architecture-road:建筑师的成长之路

    可以快速理解的有用的小Java函数的精选集合 - Java 7 示例 - 30秒收集有用的Java 8片段 - 现代Java - Java8指南 - 《跟上 Java 8》视频课程源码 - java 11示例代码 - Java常用技术 Spring、核心等技术代码 - 旨在...

    JavaReport-V3-Enterprise-Released.part1

    国产的报表工具,操作比较方便,效果也不错。但是还是有点bug的存在

    mysql-connector-java-5.1.37jar包和源码

    1. 添加依赖:在Java项目中,你需要将`mysql-connector-java-5.1.37.jar`添加到项目的类路径中,这可以通过IDE的配置或在构建脚本(如Maven的pom.xml或Gradle的build.gradle)中指定依赖来实现。 2. 建立连接:使用...

Global site tag (gtag.js) - Google Analytics