学习总结:集合

Hashmap1.7和1.8区别+ConcurrentHashmap1.7和1.8区别 Hashmap JDK1.7中     使用一个Entry数组来存储数据,用key的hashcode取模来决定key会被放到数组里的位置,如果hashcode相同,或者hashcode取模后的结果相同,那么这些key会被定位到Entry数组的同一个格子里,这些key会形成一个链表;     在hash函数特别差的情况下,比如说所有key的hashcode都相同,这个链表可能会很长,那么put... 阅读详情
  • hashmap的原理和实现。

Hash是基于Hash算法实现的,通过put (key,value)进行存储,通过get(key)来获取value。传入key时,Hash会根据key的hashCode()计算Hash值,根据hash值将value保存在bucket里面。当计算出的Hash值相同时,就会出现Hash碰撞,HashMap的做法使用链表和红黑树存储相同hash值的value,但桶里面的个数超过8时转为红黑树,少于6个时转为链表。

 

  • Hashtable ConcurrentHashmap HashTable的区别

线程安全方面:HashMap线程不安全,Conccurrent和Hashtable线程安全。

存储:HashMap的key和value都可以存储null,其他两个不可以

使用方面:Hashtable不推荐使用,一般单线程环境使用hashmap,多线程使用ConcurrentHashMap替代。

 

  • Hashtable和HashTable的区别

线程安全方面:HashMap线程不安全,Hashtable线程安全。

存储:HashMap的key和value都可以存储null,hashtable不可以

默认长度和扩容机制:hashmap默认长度是16,扩容是数组长度乘以2,hashtable默认长度是11,增加方式是原来数组*2+1。

哈希值的使用:hashmap重新计算hash值,hashtable直接使用对象的hashcode。

 

 

  • hashmap的put操作过程

1 首先如果HashMap没有被初始化过,就初始化。

2 然后对key求hash值,计算下标

3 如果没有碰撞,直接放入桶中

4 如果碰撞了,以链表的方式链接到后面

5 如果链表长度超过阈值8,就把链表转成红黑树

6 如果链表长度低于6,就把红黑树转回链表

7 如果节点已经存在就会替换旧值

8 最后就是如果桶满了,就需要resize进行扩容2倍。

 

  • hashmap 1.7与1.8版本不同

1.7版本底层是数组+链表

1.8版本底层是数组+链表+红黑树,链表长度超过8时,变为红黑树,少于6时再退化为链表。

 

  • hashmap在并发情况下,会出现什么问题?Hash如果并发put怎么办?

会出现死循环,程序占用100%的CPU。

重启程序调试代码,使用ConcurrentHashMap

 

  • hashmap线程不安全,请问为什么线程不安全?Hashmap多线程中出现的问题,画图解释

并发时会成环。什么时候成环?比如我有两个数据要装入hashmap。

参考 https://blog.youkuaiyun.com/zhuqiuhui/article/details/51849692

画图参考 https://blog.youkuaiyun.com/minkeyto/article/details/78667944

  • hashmap扩容机制

因为hashmap初始默认桶的容量是16,负载因子是0.75,所以达到负载因子的时候,会进行reszie扩容2倍进行重排。

 

  • hashcode代表什么。作用

hashcode是对key值进行hash操作得到的值,根据hashcode确定元素在表中的位置。

 

  • hashset底层原理

HashSet是基于HashSet实现的,HashSet底层使用使用hashmap来保存所有元素。相关hashset的操作都用调用hashmap的相关方法,hashset不允许重复的值。

 

 

  • HashMap是线程安全的吗,怎么让他线程安全?

不是

一是替换成hashtable,因为hashtable是线程安全的,但是效率比较低

二是用Collections类的SynchronizedMap类包装一下,返回有指定映射支持的同步线程。

三是使用ConcurrentHashMap,用分段锁来保证线程安全。

 

 

  • currenthashmap的原理及实现、如何保证线程安全?

 

Concurrent对Hashtable进行优化,通过将锁细粒度到table的每个元素来提升并发性能。底层是通过链表加数组加红黑树实现。

 

  • Concurrenthashmap1.7版本以及1.8版本的不同

1.7版本 Concurrenthashmap底层由数组+链表,有16个segment,对16个segment进行分段锁,初始化后不可扩容,可以支持16个线程并发读写。

1.8版本,Concurrent底层由数组+链表+红黑树组成。

 

 

  • concurrenthashmap如何上锁。怎么样获取concurrenthashmap的size,size()的具体操作?

1.7 对segment进行上锁,通过size(),分段计算两次,两次结果相同返回,否则对所有段加锁重新计算。

1.8 对桶里面的每个元素进行上锁,size()利用Longadd累加计算。

size参考 https://blog.youkuaiyun.com/u012133048/article/details/83144422

 

 

  •  hashmap解决冲突方式

开放定址法,再哈希法,链地址法,建立公共溢出区。

 

  • HashMap能插入null,key为null?value为null?

可以,因为hashmap的key为hash值。其他的key为指针。

 

  • java集合的类层次关系

1 容器分为Collection和Map两大类

2 Collection里面有List,set,queue

list里面有Arraylist;linkedlist;vector

set里面有hashset,treeset,linkedlistset

3 Map里面里面有hashmap,hashtable,treemap

 

  • ArrayList和LinkedList的区别? 适用场景

底层实现方面 Arraylist是动态数组,LinkedLis是双向链表。

随机访问效率,ArrayList比LinkedList访问效率高。

增加和删除效率,在不是头尾的时候,LinkedList比ArrayList效率高。

需要频繁访问集合中的元素时,使用arraylist。插入和删除操作的时候,使用linkedlist。

 

 

  • Collections和Collection的区别

Collection是集合接口,Collections是一个包装类,不能实例化,像一个工具类,比如提供的排序方法,Collections.sort(list);

 

  • Arraylist如何扩容?

新建一个1.5倍的数组,将就数组的内容复制过去。

 

  • map中的key和value可以为null吗?可以有多个null吗?

分情况

hashmap可以,key值只能有一个null,value可以有多个null

hashtable不可以

 

  • treemap了解么。treemap和hashmap区别

TreeMap 则是基于红黑树的一种提供顺序访问的 Map,它的 get、put、remove之类操作都是 O(log(n))的时间复杂度。一般是需要对key集合进行有序的遍历的时候,用TreeMap,其他的一般用hashmap。

 

 

  • 怎样减少hash碰撞,具体方案 

一是扰动函数,促使元素位置分布均匀,减少碰撞作用。

二是使用final对象,并采用合适的equals()对象和hashCode()方法

Python学习: 集合 需要注意的是,集合中的元素必须是不可变的(immutable),例如数字、字符串、元组等。需要注意的是,判断一个元素是否存在于集合中的时间复杂度是 O(1),因为集合是基于哈希表实现的。集合中的元素必须是不可变的(immutable),例如数字、字符串、元组等。方法来清空一个集合,将集合中的所有元素移除,使其变为空集。函数返回集合中元素的个数,即集合的大小。方法弹出的元素是随机的,不能确定弹出的具体元素是哪个。:可以向集合中添加、删除元素,但集合本身是可变的。:集合中的元素是互不相同的,不会出现重复元素。 阅读详情

相关推荐

帆软报表JS导出避坑指南:如何正确处理sessionid和参数传递

本文深入探讨了帆软报表中通过JavaScript实现一键导出的关键技术,重点解析了如何正确获取并传递sessionid以确保会话不丢失,以及如何构造包含必要参数的导出URL。文章详细对比了预览后导出与直接URL导出两种方式的差异,并提供了从参数拼接、前端触发下载到高级场景(如SPA集成)的完整避坑指南,帮助开发者构建稳定可靠的自定义导出功能。

weixin_42522857的博客 161

Hashmap1.7和1.8区别(1)

一、Hashmap的结构,1.7和1.8有哪些区别 不同点: (1)JDK1.7用的是头插法,而JDK1.8及之后使用的都是尾插法,那么他们为什么要这样做呢?因为JDK1.7是用单链表进行的纵向延伸,当采用头插法时会容易出现逆序且环形链表死循环问题。但是在JDK1.8之后是因为加入了红黑树使用尾插法,能够避免出现逆序且链表死循环的问题。 (2)扩容后数据存储位置的计算方式也不一样: 在JDK1.7的时候是直接用hash值和需要扩容的二进制数进行&(这里就是为什么扩容的时候为啥一定必须是2

weichenyang的博客 8673

泛微E10 eBuilder低代码平台避坑指南:新手最容易犯的5个错误及解决方案

本文针对泛微E10 eBuilder低代码平台的新手开发者,总结了5个最常见错误及解决方案,包括表单联动配置、流程设计权限、动作流时序、数据加工类型转换和权限管理过度配置等问题。通过实战经验和代码示例,帮助开发者避开常见陷阱,提升开发效率。

weixin_30919429的博客 540

Hashmap的结构,1.7和1.8有哪些区别详细讲解

(一) 真实面试题之:Hashmap的结构,1.7和1.8有哪些区别 不同点: (1)JDK1.7用的是头插法,而JDK1.8及之后使用的都是尾插法,那么他们为什么要这样做呢?因为JDK1.7是用单链表进行的纵向延伸,当采用头插法就是能够提高插入的效率,但是也会容易出现逆序且环形链表死循环问题。但是在JDK1.8之后是因为加入了红黑树使用尾插法,能够避免出现逆序且链表死循环的问题。 (2)扩容...

lovezhaohaimig的博客 1万+

华为OD机试2025C卷 - 字符串解密 (C++ & Python & JAVA & JS & GO)

华为OD机试 2025C卷 字符串解密,提供Java、C++、Python、Go、JavaScript源码实现,并提供完整思路讲解

qq_45776114的博客 976

【Unity 反向运动学插件】Final IK 一套完整的IK解决方案

Final IK是Unity中一套完整的反向运动学解决方案,提供多种IK算法(CCD、FABRIK等)和功能模块,包括全身IK、VR驱动、武器瞄准、视线跟随等。其核心是通过数学方法计算关节旋转,使末端骨骼精确到达目标位置。系统支持多约束求解、旋转限制、动画烘焙及交互系统,采用模块化设计,兼顾性能与扩展性,适用于动作游戏、VR等需要高质量角色控制的场景,是Unity生态中最成熟的IK工具链之一。

2403_88403568的博客 1002

HashMap在jdk1.7和1.8中的区别

今天重温了下HashMap的源码,对比了下HashMap在jdk1.7和jdk1.8中的区别,搜到网上有一篇文章总结的挺好,于是摘抄了下来,另外也补充了一些自己总结的知识点和面试容易被问到的点(红色字体),有不正确的地方还请留言指正,谢谢。   学习jdk1.8中的HashMap之前,需要先了解下什么是红黑树(了解红黑树的同学直接从共同点开始看即可): 参考:https://www.cn...

sky_xin的专栏 2986

【ComfyUI】FluxKontext 人物服装平铺重构

本文介绍了一个基于ComfyUI的高保真服装语义提取工作流,利用FluxKontext模型实现人物服装结构的精准抽离与平铺展示。工作流包含图像输入、潜空间处理、语义引导和生成输出四个阶段,通过Flux_Kontext_dev_fp8主模型、双CLIP文本编码和VAE转换等核心组件,配合FluxKontextImageScale、ReferenceLatent等节点完成服装结构的稳定提取。流程中CLIPTextEncode负责语义解析,FluxGuidance强化引导力度,KSampler执行最终生成,最终输

Mr数据杨 956

(1)美团面试题:Hashmap的结构,1.7和1.8有哪些区别,史上最深入的分析

(一) 真实面试题之:Hashmap的结构,1.7和1.8有哪些区别 不同点: (1)JDK1.7用的是头插法,而JDK1.8及之后使用的都是尾插法,那么他们为什么要这样做呢?因为JDK1.7是用单链表进行的纵向延伸,当采用头插法就是能够提高插入的效率,但是也会容易出现逆序且环形链表死循环问题。但是在JDK1.8之后是因为加入了红黑树使用尾插法,能够避免出现逆序且链表死循环的问题。 (2)扩...

王伟的博客 10万+

【RT-DETR有效改进】利用ASF-YOLO改进特征融合层(附代码 + 详细教程)

本文给大家带来的改进机制是ASF-YOLO(发布于2023.12月份的最新机制),其是特别设计用于细胞实例分割。这个模型通过结合空间和尺度特征,提高了在处理细胞图像时的准确性和速度。在实验中,ASF-YOLO在2018年数据科学竞赛数据集上取得了卓越的分割准确性和速度,达到了0.91的box mAP(平均精度),0.887的mask mAP,以及47.3FPS的推理速度,效果非常的好,这个结构本来是用于分割的,我将其移植到了目标检测的模型上,所以其可以适用于分割和目标检测。

Snu77的博客 2293

损失函数大汇总(三十八)(AUCPR Loss附公式推导与代码)

本文系统介绍了AUCPR Loss的原理与应用。针对不平衡分类任务中AUC指标不够敏感的问题,提出通过优化PR曲线面积(AUCPR)来提升模型性能。文章详细推导了AUCPR的可微近似实现:首先用sigmoid函数软化阈值判断,构造可微的TP/FP/FN计数;然后基于软Precision和Recall计算近似PR曲线面积;最后通过数值积分得到可优化的损失函数。特别讨论了温度参数τ对训练稳定性的影响,并比较了AUCPR与AUC、AP等指标的异同。该方法适用于医学筛查、欺诈检测等极端不平衡场景,能更准确反映模型对

悦学共鸣,温柔以待,汇聚光芒,共同成长 441

我大学的时候应该要这样:学习Java集合

如果我是这样学集合,我可能早就成为大牛了

3y 5559

从LLM到VLM再到VLA:三兄弟的“变形记”——定义、架构演进与最新趋同

LLM、VLM、VLA虽然在时间上依次出现,但它们在架构上的演进并非线性替代,而是形成了一个从“理解语言”到“理解世界”再到“改变世界”的认知闭环。VLA之所以能在短短三年内从概念走向现实,正是因为它站在了LLM和VLM的肩膀上——RT-2的泛化能力来自互联网规模的VLM预训练,π0的扩散策略受益于生成式模型的突破,Helix的双系统架构借鉴了“快慢思考”的认知科学洞见。而反过来,VLA在实际部署中遇到的效率瓶颈和实时性要求,也在倒逼LLM和VLM向更轻量、更高效的架构方向演进。

Ven%的博客 490

java学习笔记:集合之集合与集合的嵌套

java学习笔记:集合之集合与集合的嵌套 集合与集合的嵌套 ---- 1.ArrayList嵌套HashMap 题目1:需求:ArrayList集合嵌套HashMap集合,并遍历。 定义一个ArrayList集合,它包含三个元素,每一个元素都是HashMap类型的,每一个HashMap集合的键和值都是String类型的。 键:String 丈夫的姓名 值:String 妻子的姓名 数据: ...

黄道婆的专栏 425

lwip-2.0.3

lwip是瑞典计算机科学院(SICS)的Adam Dunkels 开发的一个小型开源的TCP/IP协议栈。实现的重点是在保持TCP协议主要功能的基础上减少对RAM 的占用。

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

Python入门:Python3 集合全面学习教程

Python入门:Python3 集合全面学习教程,本文是 Python3 集合的全面学习教程,集合作为 Python 中独特的数据结构,凭借其去重性和集合运算能力,在数据处理、关系判断等场景中发挥着重要作用。掌握集合的创建、基本操作和运算规则,能让你的代码更简洁高效。建议多结合实际场景练习,比如用集合进行列表去重、判断元素归属关系等,加深对集合特性的理解。

不踩坑,不知道坑有多深;不总结,踩过的坑白踩。 20万+

锂电池充电器电路设计 里面有电路

锂电池充电器电路设计 里面有电路 3.7V升压到5V电路设计。

java:集合学习

java:集合学习1.集合:2.创建集合collection对象3.集合元素的遍历: 1.集合: 2.创建集合collection对象 Collection<String> sc = new ArrayList<String>(); //注意可以修改集合数据类型<String> <int>等等 collection:方法 import java.util.ArrayList; import java.util.Collection; import jav

qq_51813155的博客 153

深度学习工具包 DeepLearningToolbox

深度学习工具包Deprecation notice.-----This toolbox is outdated and no longer maintained.There are much better tools available for deep learning than this toolbox, e.g. [Theano](http://deeplearning.net/software/theano/), [torch](http://torch.ch/) or [tensorflow](http://www.tensorflow.org/)I would suggest you use one of the tools mentioned above rather than use this toolbox.Best, Rasmus.DeepLearnToolbox================A Matlab toolbox for Deep Learning.Deep Learning is a new subfield of machine learning that focuses on learning deep hierarchical models of data.It is inspired by the human brain's apparent deep (layered, hierarchical) architecture.A good overview of the theory of Deep Learning theory is[Learning Deep Architectures for AI](http://www.iro.umontreal.ca/~bengioy/papers/ftml_book.pdf)For a more informal introduction, see the following videos by Geoffrey Hinton and Andrew Ng.* [The Next Generation of Neural Networks](http://www.youtube.com/watch?v=AyzOUbkUf3M) (Hinton, 2007)* [Recent Developments in Deep Learning](http://www.youtube.com/watch?v=VdIURAu1-aU) (Hinton, 2010)* [Unsupervised Feature Learning and Deep Learning](http://www.youtube.com/watch?v=ZmNOAtZIgIk) (Ng, 2011)If you use this toolbox in your research please cite [Prediction as a candidate for learning deep hierarchical models of data](http://www2.imm.dtu.dk/pubdb/views/publication_details.php?id=6284)```@MASTERSTHESIS\{IMM2012-06284, author = "R. B. Palm", title = "Prediction as a candidate for learning deep hierarchical models of data", year = "2012",}```Contact: rasmusbergpalm at gmail dot comDirectories included in the toolbox-----------------------------------`NN/` - A library for Feedforward Backpropagation Neural Networks`CNN/` - A library for Convolutional Neural Networks`DBN/` - A library for Deep Belief Networks`SAE/` - A library for Stacked Auto-Encoders`CAE/` - A library for Convolutional Auto-Encoders`util/` - Utility functions used by the libraries`data/` - Data used by the examples`tests/` - unit tests to verify toolbox is workingFor references on each library check REFS.mdSetup-----1. Download.2. addpath(genpath('DeepLearnToolbox'));Example: Deep Belief Network---------------------```matlabfunction test_example_DBNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit RBM and visualize its weightsrand('state',0)dbn.sizes = [100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);figure; visualize(dbn.rbm{1}.W'); % Visualize the RBM weights%% ex2 train a 100-100 hidden unit DBN and use its weights to initialize a NNrand('state',0)%train dbndbn.sizes = [100 100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);%unfold dbn to nnnn = dbnunfoldtonn(dbn, 10);nn.activation_function = 'sigm';%train nnopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.10, 'Too big error');```Example: Stacked Auto-Encoders---------------------```matlabfunction test_example_SAEload mnist_uint8;train_x = double(train_x)/255;test_x = double(test_x)/255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit SDAE and use it to initialize a FFNN% Setup and train a stacked denoising autoencoder (SDAE)rand('state',0)sae = saesetup([784 100]);sae.ae{1}.activation_function = 'sigm';sae.ae{1}.learningRate = 1;sae.ae{1}.inputZeroMaskedFraction = 0.5;opts.numepochs = 1;opts.batchsize = 100;sae = saetrain(sae, train_x, opts);visualize(sae.ae{1}.W{1}(:,2:end)')% Use the SDAE to initialize a FFNNnn = nnsetup([784 100 10]);nn.activation_function = 'sigm';nn.learningRate = 1;nn.W{1} = sae.ae{1}.W{1};% Train the FFNNopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.16, 'Too big error');```Example: Convolutional Neural Nets---------------------```matlabfunction test_example_CNNload mnist_uint8;train_x = double(reshape(train_x',28,28,60000))/255;test_x = double(reshape(test_x',28,28,10000))/255;train_y = double(train_y');test_y = double(test_y');%% ex1 Train a 6c-2s-12c-2s Convolutional neural network %will run 1 epoch in about 200 second and get around 11% error. %With 100 epochs you'll get around 1.2% errorrand('state',0)cnn.layers = { struct('type', 'i') %input layer struct('type', 'c', 'outputmaps', 6, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %sub sampling layer struct('type', 'c', 'outputmaps', 12, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %subsampling layer};cnn = cnnsetup(cnn, train_x, train_y);opts.alpha = 1;opts.batchsize = 50;opts.numepochs = 1;cnn = cnntrain(cnn, train_x, train_y, opts);[er, bad] = cnntest(cnn, test_x, test_y);%plot mean squared errorfigure; plot(cnn.rL);assert(er<0.12, 'Too big error');```Example: Neural Networks---------------------```matlabfunction test_example_NNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);% normalize[train_x, mu, sigma] = zscore(train_x);test_x = normalize(test_x, mu, sigma);%% ex1 vanilla neural netrand('state',0)nn = nnsetup([784 100 10]);opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samples[nn, L] = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.08, 'Too big error');%% ex2 neural net with L2 weight decayrand('state',0)nn = nnsetup([784 100 10]);nn.weightPenaltyL2 = 1e-4; % L2 weight decayopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex3 neural net with dropoutrand('state',0)nn = nnsetup([784 100 10]);nn.dropoutFraction = 0.5; % Dropout fraction opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex4 neural net with sigmoid activation functionrand('state',0)nn = nnsetup([784 100 10]);nn.activation_function = 'sigm'; % Sigmoid activation functionnn.learningRate = 1; % Sigm require a lower learning rateopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex5 plotting functionalityrand('state',0)nn = nnsetup([784 20 10]);opts.numepochs = 5; % Number of full sweeps through datann.output = 'softmax'; % use softmax outputopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex6 neural net with sigmoid activation and plotting of validation and training error% split training data into training and validation datavx = train_x(1:10000,:);tx = train_x(10001:end,:);vy = train_y(1:10000,:);ty = train_y(10001:end,:);rand('state',0)nn = nnsetup([784 20 10]); nn.output = 'softmax'; % use softmax outputopts.numepochs = 5; % Number of full sweeps through dataopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, tx, ty, opts, vx, vy); % nntrain takes validation set as last two arguments (optionally)[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');```[![Bitdeli Badge](https://d2weczhvl823v0.cloudfront.net/rasmusbergpalm/deeplearntoolbox/trend.png)](https://bitdeli.com/free "Bitdeli Badge")

python学习10:集合

目录标题1.集合的定义2.集合中的常用方法3.集合的特性练习 1.集合的定义 集合里面的元素不可重复 s = {1, 1, 1, 1, 1, 3, 5, 67, 89} print(s,type(s)) 定义一个集合 s1 = {} print(type(s1)) # 默认情况下是dict s2 = set([]) print(s2,type(s2)) 列表的快速去重 li = [1...

weixin_43384009的博客 412

C#学习记录——集合:使用集合

给岁月以文明,而不是给文明以岁月。』—— 三体。

做有价值的事,积累有价值的笔记! 484

Python学习:集合

集合学习笔记1.添加 add() 注意:add仅可更新一个值 s={1,2,3,4} s.add(6) print(s) 2.清空集合clear() s={1,2,3,4} s.clear() print(s) 3.拷贝 copy() s={1,2,3,4} s1=s.copy() 4.随机删除 pop() s={1,2,3,4}...

weixin_30378623的博客 653

java学习:集合

1.数组就是一个集合 2.集合实际上就是一个容器,可以容纳其他类型的数据 3.集合是一个容器,是一个载体,可以一次容纳多个对象 4.集合当中不能直接存储基本数据类型,另外集合也不能直接存储java对象,集合当中存储的是java对象的内存地址【引用】 5.集合本身是一个容器,是一个对象,集合中任何时候存储的都是引用 6.在java中每一个不同的集合,底层会对应不同的数据结构。往不同的集合当中存储元素,等于将数据放到了不同的数据结构当中 7.数据存储的结构就是数据结构。不同的数据结构,数据的存储方式

mc_finder的博客 1244

scala学习七:集合

Scala提供了一套很好的集合实现,提供了一些集合类型的抽象。Scala 集合分为可变的和不可变的集合。可变集合可以在适当的地方被更新或扩展。可以修改,添加,移除一个集合的元素。而不可变集合类,永远不会改变。不过,仍然可以模拟添加,移除或更新操作。但是这些操作将在每一种情况下都返回一个新的集合,同时使原来的集合不发生改变。

eight_Jessen的博客 1261

Java学习日志(七): Map集合,HashMap集合,LinkedHashMap集合,Hashtable集合

Java学习日志(七)Map集合Map集合和HashMap集合的特点Map集合常用方法Map集合的遍历方式LinkedHashMap集合Hashtable集合 Map集合 java.util.Map<k,v>接口: Map集合和HashMap集合的特点 Map集合的特点: Map集合是一个双列集合,一个元素由两个值组成(key,value) Map集合中key是不允许重复的,valu...

Sakuraaaaaaa的博客 509

Python学习日记:集合

集合中所有元素都应该是独一无二的,并且是无序的。

2302_77343373的博客 941

学习集合的目标:

学习集合的目标:

_清风明月的博客 809

学习笔记:集合

学习内容:集合 文章目录学习内容:集合1. 集合概述2. Collection接口中的方法3. List3.1、List接口中特有方法3.2 、ArrayList集合3.3 、LinkedList集合3.4 、Vector4. Set4.1 、HashSet集合4.2 、TreeSet集合5. Map5.1、Map接口中常用方法:5.2、Map集合的遍历5.3、HashMap集合5.3、HashMap和Hashtable的区别5.4、Properties类(属性类)5.5、TreeMap 1. 集合概述 1

qq_49019244的博客 411

java学习总结:map集合

一,Map 先说一下Map吧~ 如果程序中存储了几百万个学生,而且经常需要使用学号来搜索某个学生,那么这个需求有效的数据结构就是Map。 Map是一种依照键(key)存储元素的容器,键(key)很像下标,在List中下标是整数。在Map中键(key)可以使任意类型的对象。Map中不能有重复的键(Key),每个键(key)都有一个对应的值(value)。 一个键(key)和它对应的值构成map集合中...

kior的博客 330
上一篇: 学习总结:数据库-索引,引擎,SQL语句
下一篇: 学习总结:常用设计模式
scanq
博客等级 码龄11年 15粉丝 42原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值