Tag: 数组

如何将数组中的所有元素初始化为java中的任何特定值

在C/C++我们有memset()函数,可以实现我的愿望,但在Java中,我怎么能初始化所有的元素到一个特定的值? 每当我们写int[] array=new int[10]; ,这只是初始化一个大小为10的数组,其所有元素都等于零。 我只想改变这个初始化整数为我的数组之一。 即我想要初始化一个所有元素等于-1的数组。 否则,我必须在刚刚初始化之后放置一个for循环,其范围从索引0到索引size-1并且在该循环内部,我将元素赋值为-1。 以下是更多理解的代码 – int[] array = new int[10]; for (int i = 0; i < size; i++) { array[i] = -1; } 我正确吗? 有没有其他方式相同?

如何通过在Javascript中的值来sorting关联数组?

我有关联数组: array["sub2"] = 1; array["sub0"] = -1; array["sub1"] = 0; array["sub3"] = 1; array["sub4"] = 0; 按其值sorting(降序)的最优雅的方式是什么,结果将是具有各自索引的数组: sub2, sub3, sub1, sub4, sub0?

如何在JavaScript中的多维对象/数组中find一个值?

我有一个多维的对象(它基本上是一个数组): Object = { 1 : { name : bob , dinner : pizza }, 2 : { name : john , dinner : sushi }, 3 : { name : larry, dinner : hummus } } 我想能够search关键字是“晚餐”的对象/数组,并查看它是否匹配“寿司”。 我知道jQuery有$ .inArray,但它似乎不能在multidimensional array上工作。 或者,也许我错了。 indexOf似乎也只能在一个数组级别上工作。 有没有function或现有的代码呢?

如何使用stdClass()将数组转换为对象

我做了以下的数组: $clasa = array( 'e1' => array('nume' => 'Nitu', 'prenume' => 'Andrei', 'sex' => 'm', 'varsta' => 23), 'e2' => array('nume' => 'Nae', 'prenume' => 'Ionel', 'sex' => 'm', 'varsta' => 27), 'e3' => array('nume' => 'Noman', 'prenume' => 'Alice', 'sex' => 'f', 'varsta' => 22), 'e4' => array('nume' => 'Geangos', 'prenume' => 'Bogdan', 'sex' […]

在Perl中,我如何创build一个哈希键来自给定的数组?

比方说,我有一个数组,我知道我会做很多“数组是否包含X? 检查。 这样做的有效方法是将该数组转换为哈希,其中键是数组的元素,然后您可以说 if($ hash {X}){…} 有一个简单的方法来做这个数组到哈希转换? 理想情况下,它应该是足够多function的采取一个匿名数组并返回一个匿名散列。

数组总和和平均值

我有问题添加一个数组的所有元素,以及平均他们。 我将如何做到这一点,并用我现在的代码来实现呢? 元素应该被定义为我在下面。 <script type="text/javascript"> //<![CDATA[ var i; var elmt = new Array(); elmt[0] = "0"; elmt[1] = "1"; elmt[2] = "2"; elmt[3] = "3"; elmt[4] = "4"; elmt[5] = "7"; elmt[6] = "8"; elmt[7] = "9"; elmt[8] = "10"; elmt[9] = "11"; // problem here for (i = 9; i < 10; i++) { […]

为什么在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; } } 我知道,现在的table可以是空的地图,因此在本地variables中的附加检查和caching是必需的。 但为什么Arrays.fill()replace为for循环? […]

为什么C#在两个int数组语法中行为不同

C#中的数组是隐式引用types上的协variables : object[] listString = new string[] { "string1", "string2" }; 但不是值types,所以如果你改变string为int ,你会得到编译错误: object[] listInt = new int[] {0, 1}; // compile error 现在,关心的是当你声明int数组就像下面的两个语法没有明确声明inttypes,只是区分new[] ,编译器会以不同的方式处理: object[] list1 = { 0, 1 }; //compile successfully object[] list2 = new[] {0, 1}; //compile error 你将得到object[] list1 = { 0, 1 }; 编译成功,但是object[] list2= new[] {0, 1}; 编译错误。 […]

为什么arrays不能被修剪?

在MSDN文档站点上,它提到有关Array.Resize方法的以下内容: 如果newSize大于旧数组的长度,则分配一个新数组,并将所有元素从旧数组复制到新数组。 如果newSize小于旧数组的长度,则分配一个新数组,并将元素从旧数组复制到新数组,直到新数组被填充; 旧数组中的其余元素将被忽略。 数组是一系列相邻的内存块。 如果我们需要一个更大的数组,我知道我们不能增加内存,因为它旁边的内存可能已经被其他一些数据所占用。 所以我们不得不要求所有更大尺寸的相邻存储块的新序列,复制我们的入口并删除旧空间的声明。 但为什么创build一个更小的新arrays? 为什么数组不能删除它的最后一个内存块的声明? 那么这将是一个O(1)操作,而不是O(n),就像现在一样。 这与数据在计算机体系结构或物理层面上的组织方式有关吗?

在Perl中从数组中删除一个值的最好方法是什么?

该数组有很多的数据,我需要删除两个元素。 以下是我正在使用的代码片段, my @array = (1,2,3,4,5,5,6,5,4,9); my $element_omitted = 5; @array = grep { $_ != $element_omitted } @array;