Questions tagged «arrays»

数组是一种有序的数据结构,由一组元素(值,变量或引用)组成,每个元素由一个或多个索引标识。当询问数组的特定变体时,请使用以下相关标记:[vector],[arraylist],[matrix]。使用此标签时,在特定于编程语言的问题中,使用正在使用的编程语言对问题进行标签。

14
如何将JavaScript对象的属性值提取到数组中?
给定一个JavaScript对象: var dataObject = { object1: {id: 1, name: "Fred"}, object2: {id: 2, name: "Wilma"}, object3: {id: 3, name: "Pebbles"} }; 如何有效地将内部对象提取到数组中? 我不需要维护object [n] ID的句柄。 var dataArray = [ {id: 1, name: "Fred"}, {id: 2, name: "Wilma"}, {id: 3, name: "Pebbles"}]

4
是否已订购PHP关联数组?
我来自python背景,类似的python数据类型(字典)是一组无序的键值对。 我想知道PHP关联数组是否无序?他们似乎是有序的。 $test = array( 'test' => 'test', 'bar' => 'bar', ); var_dump($test); var_dump(array_slice($test, 0, 1)); 测试总是在bar之前进行,我可以如您所见对这个数组进行切片。那么,是否始终保证可以跨PHP版本订购?该命令就是我声明数组的命令吗?因此,内部是否有某些东西指向“测试”以将[0]放置在数组中?我已经阅读了http://php.net/manual/en/language.types.array.php,但是在这个问题上并没有太多启示。感谢您的回复。泰
71 php  arrays  dictionary 



8
为什么不能修剪数组?
在MSDN文档站点上,该Array.Resize方法说明如下: 如果newSize大于旧数组的Length,则分配一个新数组,并将所有元素从旧数组复制到新数组。 如果newSize小于旧数组的长度,则分配一个新数组,并将元素从旧数组复制到新数组,直到填充新数组为止。旧数组中的其余元素将被忽略。 数组是一系列相邻的存储块。如果我们需要更大的数组,我知道我们无法向其添加内存,因为它旁边的内存可能已经被其他一些数据占用。因此,我们必须声明一个新的相邻存储块序列,并具有所需的更大大小,然后在其中复制条目并删除对旧空间的声明。 但是,为什么要创建一个较小的新数组?为什么阵列不能仅仅删除其对最后一个存储块的要求?那么它将是O(1)运算,而不是现在的O(n)。 它与在计算机体系结构或物理级别上如何组织数据有关吗?

3
Array.length = 0和Array = []之间的区别?
有人可以解释一下两者之间的概念差异。阅读某个地方,第二个地方通过销毁对现有数组的所有引用来创建一个新数组,而.length = 0则清空该数组。但这在我的情况下不起作用 //Declaration var arr = new Array(); 下面的代码是一次又一次执行的循环代码。 $("#dummy").load("something.php",function(){ arr.length =0;// expected to empty the array $("div").each(function(){ arr = arr + $(this).html(); }); }); 但是,如果我将代码替换arr =[]为arr.length=0它,则可以正常工作。任何人都可以解释这里发生了什么。

5
为什么在HashMap.clear()中不再使用Arrays.fill()?
我注意到在实施时有些奇怪HashMap.clear()。这就是在OpenJDK 7u40中的样子: public void clear() { modCount++; Arrays.fill(table, null); size = 0; } 这就是从OpenJDK 8u40开始的样子: public void clear() { Node<K,V>[] tab; modCount++; if ((tab = table) != null && size > 0) { size = 0; for (int i = 0; i < tab.length; ++i) tab[i] = null; } } …
70 java  arrays  hashmap  java-8 


5
如何用现代Java比较数组列表的相等性?
我有两个数组列表。 如何在不使用外部库的情况下轻松地将它们与Java 8及其功能的相等性进行比较?我正在寻找一种比这种强力代码(未经测试的代码,可能包含错别字等)更好的(更高级别,更短,更有效)的解决方案: boolean compare(List<String[]> list1, List<String[]> list2) { // tests for nulls etc omitted if(list1.size() != list2.size()) { return false; } for(i=0; i<list1.size(); ++i) { if(!Arrays.equals(list1.get(i), list2.get(i))) { return false; } } return true; } 或者,如果没有更好的方法,那也是一个有效的答案。 奖励:如果Java 9提供了Java 8可以提供的更好的方法,请随时提一下。 编辑:在查看评论并查看此问题如何变得中等热点之后,我认为“更好”应包括在检查数组内容之前首先检查所有数组的长度,因为如果有内部的话,它有可能更快地找到不等式数组很长。
70 java  arrays  list  java-8  equals 

2
如何初始化静态数组?
我已经看到了在Java中定义静态数组的不同方法。要么: String[] suit = new String[] { "spades", "hearts", "diamonds", "clubs" }; ...或仅 String[] suit = { "spades", "hearts", "diamonds", "clubs" }; 或作为 List List suit = Arrays.asList( "spades", "hearts", "diamonds", "clubs" ); 有区别吗(当然除了List定义)? 有什么更好的方法(明智的选择)?



4
'无效的更新:第0部分中的无效行数
我已经阅读了所有与此相关的文章,但仍然出现错误: 'Invalid update: invalid number of rows in section 0. The number of rows contained in an existing section after the update (5) must be equal to the number of rows contained in that section before the update (5), plus or minus the number of rows inserted or deleted from …


1
给定一个参数数组,如何将这些参数发送到Ruby中的特定函数?
原谅初学者的问题,但说我有一个数组: a = [1,2,3] 还有某处的功能;假设这是一个实例函数: class Ilike def turtles(*args) puts args.inspect end end 我该如何调用Ilike.turtles,a就像在打电话一样(Ilike.new).turtles(1,2,3)。 我熟悉send,但这似乎并没有将数组转换为参数列表。 我正在寻找的apply与之类似的Javascript等效于call但将数组转换为参数列表。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.