タグ付けされた質問 「arrays」

配列は、それぞれが1つ以上のインデックスで識別される要素(値、変数、または参照)のコレクションで構成される、順序付けられた線形データ構造です。配列の特定のバリアントについて質問する場合は、代わりに次の関連タグを使用してください:[vector]、[arraylist]、[matrix]。このタグを使用する場合、プログラミング言語に固有の質問では、使用するプログラミング言語で質問にタグを付けます。

8
Javaで連続した整数のリストまたは配列を生成するにはどうすればよいですか?
短いと甘い生成する方法があるList<Integer>、または多分 Integer[]またはint[]、いくつかの連続した値でstartの値end値は? つまり、次のものよりも短いが1に相当するものです。 void List<Integer> makeSequence(int begin, int end) { List<Integer> ret = new ArrayList<>(end - begin + 1); for (int i=begin; i<=end; i++) { ret.add(i); } return ret; } グアバの使用は問題ありません。 更新: パフォーマンス分析 この質問は、ネイティブJava 8とサードパーティのライブラリの両方を使用して、いくつかの良い答えを受け取ったので、すべてのソリューションのパフォーマンスをテストすると思いました。 最初のテスト[1..10]は、次のメソッドを使用して、10要素のリストの作成をテストするだけです。 classicArrayList:私の質問で上記のコード(そして基本的にはadarshrの回答と同じ)。 eclipseCollections:Eclipseコレクション8.0を使用して、以下のドナルドの回答で提供されるコード。 guavaRange:以下のdavebの回答で与えられたコード。技術的には、これはaを作成するのList<Integer>ではなく、aを作成します。ただし、順序どおりにContiguousSet<Integer>実装さIterable<Integer>れるため、ほとんどの場合私の目的で機能します。 intStreamRange:以下のVladimirの回答に記載されているコードを使用IntStream.rangeClosed()します。これはJava 8で導入されました。 streamIterate:Java 8で導入された機能も使用する、以下のCatalinの回答に示されているコードIntStream 上記のすべてのサイズ10のリストについて、1秒あたりのキロオペレーションの結果を次に示します(数値が大きいほど優れています)。 ...そしてサイズが10,000のリストの場合: その最後のチャートは正しいです-EclipseとGuava以外のソリューションは遅すぎて、1ピクセルのバーを取得することさえできません!高速ソリューションは、他のソリューションよりも10,000〜20,000 倍高速です。 もちろん、ここで起こっているのは、guavaとeclipseのソリューションが実際には10,000要素のリストの種類を具体化しないことです。これらは、開始と終了の周りの固定サイズのラッパーにすぎません。各要素は、反復中に必要に応じて作成されます。このテストでは実際には反復しないため、コストは延期されます。他のすべてのソリューションは、実際に完全なリストをメモリに具体化し、作成のみのベンチマークで高額を支払います。 もう少し現実的なことをして、すべての整数を繰り返して合計します。したがって、IntStream.rangeClosedバリアントの場合、ベンチマークは次のようになります。 @Benchmark …

9
反応の状態配列から項目を削除します
話は、ボブ、サリー、ジャックを箱に入れることができるはずです。どちらも箱から取り出せます。取り外すと、スロットは残りません。 people = ["Bob", "Sally", "Jack"] 「ボブ」を削除する必要があります。新しい配列は次のようになります。 ["Sally", "Jack"] これが私の反応コンポーネントです: ... getInitialState: function() { return{ people: [], } }, selectPeople(e){ this.setState({people: this.state.people.concat([e.target.value])}) }, removePeople(e){ var array = this.state.people; var index = array.indexOf(e.target.value); // Let's say it's Bob. delete array[index]; }, ... ここでは、最小限のコード(onClickなど)があるので、それを示します。重要な部分は、配列から「Bob」を削除、削除、破棄することremovePeople()ですが、呼び出されても機能しません。何か案は?私はこれを見ていましたが、Reactを使用しているため、何か間違っている可能性があります。

11
Javaでの2D配列の配列長の取得
行と列の両方の2D配列の長さを取得する必要があります。次のコードを使用して、これを正常に実行しました。 public class MyClass { public static void main(String args[]) { int[][] test; test = new int[5][10]; int row = test.length; int col = test[0].length; System.out.println(row); System.out.println(col); } } これは期待どおりに5、10を出力します。 次の行を見てください。 int col = test[0].length; 列の長さを取得するために、実際には特定の行を参照する必要があることに注意してください。私には、これは信じられないほど醜いようです。さらに、配列が次のように定義されている場合: test = new int[0][10]; 次に、長さを取得しようとするとコードが失敗します。これを行う別の(よりインテリジェントな)方法はありますか?

4
JSONObjectを使用してJavaで正しいJSONArrayを作成する方法
JSONObjectを使用してJavaで次のようなJSONオブジェクトを作成するにはどうすればよいですか? { "employees": [ {"firstName": "John", "lastName": "Doe"}, {"firstName": "Anna", "lastName": "Smith"}, {"firstName": "Peter", "lastName": "Jones"} ], "manager": [ {"firstName": "John", "lastName": "Doe"}, {"firstName": "Anna", "lastName": "Smith"}, {"firstName": "Peter", "lastName": "Jones"} ] } 多くの例を見つけましたが、正確にはJSONArray文字列ではありません。
129 java  json  arrays 

12
numpy配列を初期化する
形状の派手な配列を初期化してそれに追加する方法はありますか?リストの例で必要なものを説明します。ループで生成されたオブジェクトのリストを作成する場合は、次のようにできます。 a = [] for i in range(5): a.append(i) numpy配列で同様のことをしたいのですが。私はvstackやconcatenateなどについて知っています。しかし、これらは入力として2つのnumpy配列を必要とするようです。私が必要なのは: big_array # Initially empty. This is where I don't know what to specify for i in range(5): array i of shape = (2,4) created. add to big_array big_array形状を持つべきです(10,4)。これを行う方法? 編集: 次の説明を追加したいと思います。私はそれを定義big_array = numpy.zeros((10,4))してそれを埋めることができることを知っています。ただし、これには事前にbig_arrayのサイズを指定する必要があります。この場合、サイズはわかりますが、知らない場合はどうなりますか?.appendPythonでリストを拡張する関数を使用する場合、事前に最終的なサイズを知る必要はありません。空の配列から始めて、小さな配列からより大きな配列を作成するために似たようなものが存在するかどうか疑問に思っています。
129 python  arrays  numpy 

18
関数のJavaScript配列
var array_of_functions = [ first_function('a string'), second_function('a string'), third_function('a string'), forth_function('a string') ] array_of_functions[0]; 配列が作成されるときに配列内の各関数が実行されるため、これは意図したとおりに機能しません。 配列内の関数を実行する適切な方法は何ですか? array_of_functions[0]; // or, array_of_functions[1] etc. ありがとう!


8
$ _POSTを使用してHTMLから選択オプションの値を取得する
私はselect以下のように使用します: <select name="taskOption"> <option>First</option> <option>Second</option> <option>Third</option> </select> selectPHPでオプションから値を取得し、将来使用するために変数に格納するにはどうすればよいですか?
128 php  html  arrays 

7
2つの配列を一度に反復する「Rubyの方法」とは
解決すべき問題よりも構文の好奇心のほうが... 同じ長さの2つの配列があり、一度に両方を反復処理します。たとえば、特定のインデックスで両方の値を出力します。 @budget = [ 100, 150, 25, 105 ] @actual = [ 120, 100, 50, 100 ] 私は使用each_indexして配列にインデックスを付けることができることを知っています: @budget.each_index do |i| puts @budget[i] puts @actual[i] end これをよりよくするRubyの方法はありますか?このような何か? # Obviously doesn't achieve what I want it to - but is there something like this? [@budget, @actual].each do |budget, actual| puts …
127 ruby  arrays  iterator 

7
C / C ++でサイズ0の配列を定義するとどうなりますか?
int array[0];コードで長さゼロの配列を定義すると、実際にはどうなりますか?GCCはまったく文句を言いません。 サンプルプログラム #include <stdio.h> int main() { int arr[0]; return 0; } 明確化 私は実際に、Darhazerのコメントの可変長のように指されるのではなく、このように初期化された長さゼロの配列が最適化されているかどうかを把握しようとしています。 これは、一部のコードを実際にリリースする必要があるため、SIZEがとして定義されているケースを処理する必要があるかどうかを判断しようとし0ています。int array[SIZE]; 私は実際にGCCが文句を言わないことに驚き、それが私の質問につながりました。私が受け取った回答から、警告がないのは、新しい[]構文で更新されていない古いコードをサポートしていることが主な原因であると思います。 私は主にエラーについて疑問に思っていたので、Lundinの答えに正しいタグを付けています(Nawazの答えが最初でしたが、完全ではありませんでした)。 tまさに私が探していたもの。
127 c++  c  arrays 

10
2048x2048の配列乗算と2047x2047の配列乗算でパフォーマンスに大きな影響があるのはなぜですか?
前に「MATLABが行列乗算で非常に高速である理由」で前述したように、いくつかの行列乗算ベンチマークを作成してい ます。 2つの2048x2048行列を乗算すると、C#と他の行列には大きな違いがあります。2047x2047の行列のみを乗算しようとすると、正常に見えます。比較のために他にもいくつか追加しました。 1024x1024-10秒。 1027x1027-10秒。 2047x2047-90秒。 2048x2048-300秒。 2049x2049-91秒。(更新) 2500x2500-166秒 これは、2k x 2kの場合の3.5分差です。 2dim配列の使用 //Array init like this int rozmer = 2048; float[,] matice = new float[rozmer, rozmer]; //Main multiply code for(int j = 0; j < rozmer; j++) { for (int k = 0; k < rozmer; k++) { float …


7
foreachループで配列要素を削除するにはどうすればよいですか?
foreach値が存在するかどうかを確認するために配列をループしたいのですが。値が存在する場合は、それを含む要素を削除します。 私は次のコードを持っています: foreach($display_related_tags as $tag_name) { if($tag_name == $found_tag['name']) { // Delete element } } 値が見つかったら、要素を削除する方法がわかりません。どうすれば削除できますか? 私はforeachこの問題に使用しなければなりません。に代わるものはおそらくありforeach、それらを共有することを歓迎します。
127 php  arrays  loops  foreach 


7
配列の評価についてChromeのJavaScriptコンソールは怠惰ですか?
私はコードから始めます: var s = ["hi"]; console.log(s); s[0] = "bye"; console.log(s); シンプルでしょ?これに応じて、Firebugは言う: ["hi"] ["bye"] すばらしいが、ChromeのJavaScriptコンソール(7.0.517.41ベータ版)は次のように述べている。 ["bye"] ["bye"] 私は何か間違ったことをしましたか、それともChromeのJavaScriptコンソールは私の配列の評価について非常に怠惰ですか?

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.