Ruby Array类
生成 |
a = [1,2,3] # 字面生成 |
||||||||||||
复制 |
clone -> Array dup -> Array ● 元素不复制(指针的还是指针) ● clone也包含了frozen tainted singleton-class的内容 |
||||||||||||
索引 | a = Array.new(12, 1) 获取一个 b = a[1] b = a.at(1) b = a.slice(1) 获取子数组 b = a[1..2] b = a.slice(1..2) b = a[1...2] b = a.slice(1...2) 获取子数组, 通过首项和数组长度 b = a[1, 5] b = a.slice(1..6) |
||||||||||||
插入新元素 | b = Array.new(4, 95) a[n, 0] = b |
||||||||||||
取出多个元素 | a.values_at(n1, n2, ...) | ||||||||||||
长度 | a.length a.size |
||||||||||||
是否包含指定元素 | include?(val) -> bool | ||||||||||||
集合运算 | 并集 a | b 交集 a & b | 和 +的区别 |
||||||||||||
序列和堆 | 序列: 先放的先拿 堆: 先放的后拿 |
||||||||||||
增加元素 |
|
||||||||||||
删除元素 |
|
||||||||||||
读取元素 |
开头: first(n) 结尾: last(n) 第二个: second() 这个不能有参数 开头开始指定个: take(n) |
||||||||||||
搜索元素 |
|
||||||||||||
主要方法 | 注:改变自己的method会改变所以参照的对象 | ||||||||||||
增加首元素 | a.unshift(n) | ||||||||||||
增加尾元素 | a.push(n) a << n | ||||||||||||
末尾添加数组 | a.concat(b) a += b | ||||||||||||
取出一部分 | a[n], a[m...n], a[m..n], a[n, length]
a[n] 取出第n个 |
||||||||||||
删除nil | a.compact() 去除nil | ||||||||||||
去掉所有n | a.delete(n) 去除所有n |
||||||||||||
删掉第n+1个 | a.delete_at(n) 去除第n+1个 | ||||||||||||
满足条件时删除 |
删除返回true的 a.delete_if do |temp| # 总是返回自身 相当于 a.reject! do |temp| |
||||||||||||
去除重复 | a.uniq() a.uniq!() |
||||||||||||
读取并删除首元素 读取并删除尾元素 |
a.shift() a.pop() |
||||||||||||
加工原数组 |
a.collect {|temp| 注: map, collect是同一个方法 返回值作为新元素, 不返回则为nil |
||||||||||||
填充新值 | a.fill(value) a.fill(value, begin) a.fill(value, begin, len) a.fill(value, n..m) |
||||||||||||
展开所有子集合 | a.flatten() a.flatten!() |
||||||||||||
倒转 | a.reverse() a.reverse!() |
||||||||||||
排序 | a.sort() a.sort!() a.sort {|temp| ...} a.sort! {|temp| ...} sampe = target.sort { |a, b| b.contents.count <=> a.contents.count } |
||||||||||||
通过某个值排序 | a.sort_by {|temp| ...} a.sort_by! {|temp| ...} 注意: 从小到大排(升序) |
||||||||||||
遍历 | a.each {|temp|} a.zip 带索引 从0开始 a.each_with_index {|temp, index|} 从n开始 a.each.with_index(n) {|temp, index|} |
||||||||||||
获取字符串 |
a.join(sep="") 按将数组内容按sep为分割连结成字符串 [1, 2, 3].join('/') # '1/2/3' |
||||||||||||
Ruby Array类的更多相关文章
- Java集合---Array类源码解析
Java集合---Array类源码解析 ---转自:牛奶.不加糖 一.Arrays.sort()数组排序 Java Arrays中提供了对所有类型的排序.其中主要分为Prim ...
- .NET中string[]数组和List<string>泛型的相互转换以及Array类的Sort()方法(转)
从string[]转List<string>: " }; List<string> list = new List<string>(str); 从List ...
- javascript Array类
Array类 toString()方法和valueOf()方法,返回特殊的字符串.该字符串是通过对每项调用toString()方法,然后用逗号把它们连接在一起构成的.例如,对具有项"red& ...
- C# - 系统类 - Array类
Array类 ns:System Array是一个抽象类 表示数组 提供了创建.查找.删除.排序.修改等应用于数组的操作 此类没有公有的实例构造函数 可以使用静态方法CreateInstance创建A ...
- Array类的Sort()方法
刚复习了Array类的sort()方法, 这里列举几个常用的,和大家一起分享. Array类实现了数组中元素的冒泡排序.Sort()方法要求数组中的元素实现IComparable接口.如System. ...
- C#数组--(Array类的属性和方法)
Array 类是 C# 中所有数组的基类,它是在 System 命名空间中定义.Array 类提供了各种用于数组的属性和方法,可看作扩充了功能的数组(但不等同数组),可以使用Array类的属性来对数组 ...
- C#编程(三十三)----------Array类
Array类 创建数组 Array intArray1 = Array.CreateInstance(typeof(int), 5); for (int i = 0; i < 5; i++) { ...
- C#中的集合(HashTable与Array类)【转】
一.Array类 1.Array类的属性 序号 属性 & 描述 1 IsFixedSize 获取一个值,该值指示数组是否带有固定大小. 2 IsReadOnly 获取一个值,该值指示数组是否只 ...
- Eigen学习之Array类
Eigen 不仅提供了Matrix和Vector结构,还提供了Array结构.区别如下,Matrix和Vector就是线性代数中定义的矩阵和向量,所有的数学运算都和数学上一致.但是存在一个问题是数学上 ...
随机推荐
- php的抽象类
php的抽象类 //定义一个老虎类 abstract class Tiger{ public abstract function climb(); } //定义一个孟加拉虎类 class MTiger ...
- (转)Redis
Rdis和JQuery一样是纯粹为应用而产生的,这里记录的是在CentOS 5.7上学习入门文章: 1.Redis简介 Redis是 一个key-value存储系统.和Memcached类似,但是解决 ...
- 高清(200万像素)多灯红外防水枪型网络摄像机 DH-IPC-HFW5200-IRA
DH-IPC-HFW5200-IRA-0722A http://download.dahuatech.com/instruction_download.php?classOne=3907&cl ...
- @Aspect注解无效
Pointcut的execution配置正确的话,检查下,是否加了以下jar包 <!-- http://mvnrepository.com/artifact/org.aspectj/aspect ...
- sys.argv的妙用:python命令行参数列表的修改、增加、删除
是否妙用取决于你怎么用 1.sys.argv是用来获取命令行参数的方法,本身是一个list.你搜其实用方法,这方面的介绍最多,这里不赘述 2.那么问题是:sys.argv可以赋值吗?可以扩充吗?可以修 ...
- 【python】urllib2
urllib2.urlopen(url[, data][, timeout]) 请求url,获得请求数据,url参数可以是个String,也可以是个Request参数 没有data参数时为GET请求, ...
- Word 2013安裝字典
不必從內建的字典中開始,Word 2013 可將您連結到 Office 市集,方便您挑選免費的字典,或從包括多語字典的字典集合中購買. 若要選擇並安裝您想要的字典,請以滑鼠右鍵按一下任何單字,並按一下 ...
- PHPCMS中GET标签概述、 get 标签语法、get 标签创建工具、get 调用本系统演示样例、get 调用其它系统演示样例
一.get 标签概述 通俗来讲,get 标签是Phpcms定义的能直接调用数据库里面内容的简单化.友好化代码,她可调用本系统和外部数据,仅仅有你对SQL有一定的了解,她就是你的绝世好剑!也就是适合熟悉 ...
- C++实现KMP模式匹配算法
#include<iostream> #include<string> #include<vector> using namespace std; void Nex ...
- 机器学习笔记之PCA-SIFT总结
不多说,直接上干货! PCA-SIFT算法在描述子构建上作了创新,主要是 将统计学中的主成分分析(PCA)应用于对描述子向量的降维,以提高匹配效率 . PCA 的原理是:一般有效信号的方差大,噪声的方 ...