java 集合

一、集合的由来

  通常,我们的程序需要根据程序运行时才知道创建多少个对象。但若非程序运行,程序开发阶段,我们根本不知道到底需要多少个数量的对象,甚至不知道它的准确类型。为了满足这些常规的编程需要,我们要求能在任何时候,任何地点创建任意数量的对象,而这些对象用什么来容纳呢?我们首先想到了数组,但是数组只能放统一类型的数据,而且其长度是固定的,那怎么办呢?集合便应运而生了!

二、集合是什么?

  Java集合类存放于 java.util 包中,是一个用来存放对象的容器。

注意:①、集合只能存放对象。比如你存一个 int 型数据 1放入集合中,其实它是自动转换成 Integer 类后存入的,Java中每一种基本类型都有对应的引用类型。

   ②、集合存放的是多个对象的引用,对象本身还是放在堆内存中。

   ③、集合可以存放不同类型,不限数量的数据类型。

三、Java 集合框架图

发现一个特点,上述所有的集合类,除了 map 系列的集合,即左边集合都实现了 Iterator 接口,这是一个用于遍历集合中元素的接口,主要hashNext(),next(),remove()三种方法。它的一个子接口 ListIterator 在它的基础上又添加了三种方法,分别是 add(),previous(),hasPrevious()。也就是说如果实现 Iterator 接口,那么在遍历集合中元素的时候,只能往后遍历,被遍历后的元素不会再被遍历到,通常无序集合实现的都是这个接口,比如HashSet;而那些元素有序的集合,实现的一般都是 LinkedIterator接口,实现这个接口的集合可以双向遍历,既可以通过next()访问下一个元素,又可以通过previous()访问前一个 元素,比如ArrayList。

  还有一个特点就是抽象类的使用。如果要自己实现一个集合类,去实现那些抽象的接口会非常麻烦,工作量很大。这个时候就可以使用抽象类,这些抽象类中给我们提供了许多

现成的实现,我们只需要根据自己的需求重写一些方法或者添加一些方法就可以实现自己需要的集合类,工作量大大降低。

### 安装 TensorFlow-GPU 的方法 为了在 Linux 服务器上使用 Anaconda 正确配置并安装 TensorFlow-GPU,可以通过以下几种方式进行操作: #### 方法一:通过 Conda 命令直接安装 可以直接利用 `conda` 来安装指定版本的 TensorFlow-GPU。例如,要安装 TensorFlow-GPU 版本 1.12.0,可以运行以下命令: ```bash conda install tensorflow-gpu==1.12.0 ``` 此方法适用于 Conda 已经支持的 TensorFlow-GPU 版本[^1]。 #### 方法二:通过 Pip 安装特定版本 如果目标 TensorFlow-GPU 版本未被 Conda 支持,则可以在激活的 Anaconda 虚拟环境中使用 `pip` 进行安装。例如,对于 TensorFlow-GPU 1.13.2 可以执行以下命令: ```bash pip install tensorflow-gpu==1.13.2 ``` 这种方法允许更灵活地选择不同版本的 TensorFlow-GPU[^2]。 #### 方法三:离线安装 TensorFlow-GPU 当网络条件受限时,可以选择下载对应版本的 `.whl` 文件并通过本地文件路径完成安装。例如,在 Python 3.7 环境下安装 TensorFlow-GPU 2.3.0,可先获取对应的轮子文件(wheel file),然后运行以下命令: ```bash pip install tensorflow_gpu-2.3.0-cp37-cp37m-manylinux2010_x86_64.whl ``` 该过程需确保所选 wheel 文件与系统的架构以及 Python 解释器版本相匹配[^3]。 #### 额外提示:混合工具链安装其他依赖项 有时可能还需要额外安装一些库来满足项目需求。在这种情况下,即使某些包无法通过 Conda 获取,也可以借助内置的 Pip 实现安装目的。比如安装 NumPy 库至当前活动的虚拟环境里,可以用下面这条指令实现: ```bash python -m pip install numpy ``` 这一步骤展示了如何结合两种工具的优势来构建完整的开发环境[^4]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值