問題タブ [toarray]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
doctrine - Doctrinetoarrayは関係を変換しません
私は教義の教義に従って始めました。これがドキュメントです。
私のコードは
$ User-> Phonenumbersでリレーションにアクセスすると、機能します。toArray()メソッドを使用してUserオブジェクトを配列に変換すると、リレーションが配列に変換されません。$Userデータを表示するだけです。
私は何かが足りないのですか?
jquery-ui - jquery uiソート可能な子からのシリアル化
画像を並べ替えた後、画像パスとキャプションを含む配列を PHP スクリプトに送信したいと考えています。リストで「serialize」または「toArray」を実行できますが、img タグから属性を取得するにはどうすればよいですか?
java - Javaオブジェクト配列アイテムから文字列配列へ
私が次を持っているとしましょう:
c# - List コレクションのスレッド セーフな foreach アクセスのロックと ToArray の比較
リスト コレクションがあり、それをマルチ スレッド アプリで反復処理したいと考えています。変更される可能性があり、foreachを実行するときに「コレクションが変更されました」という例外が発生したくないため、反復するたびに保護する必要があります。
これを行う正しい方法は何ですか?
アクセスまたはループするたびにロックを使用します。私はデッドロックがかなり怖いです。たぶん、私はロックを使用することに偏執的であり、そうすべきではありません。デッドロックを回避するためにこのルートを使用する場合、何を知る必要がありますか? ロックはかなり効率的ですか?
foreach を実行するたびに List<>.ToArray() を使用して配列にコピーします。これはパフォーマンスに影響を与えますが、簡単に実行できます。コピーする時間だけでなく、メモリのスラッシングも心配です。ただ過剰に思えます。ToArray を使用するのはスレッド セーフですか?
foreach を使用せず、代わりに for ループを使用してください。リストが縮小されていないことを確認するために、これを行うたびに長さチェックを行う必要はありませんか? それは迷惑そうです。
c# - HTML行を文字列配列に分割します
私はテーブルのhtmlファイルにデータを持っています:
単一の行を配列またはリストに分割するにはどうすればよいですか?
java - Java: Collection に toArray を実装する方法
今、私は持っています:
(これはaxtavtによって指摘されたように、これは契約に従っていないことに注意してください。)
この警告が表示される場所:
これはまだそれを実装するための最良の/最も簡単な方法ですか? その警告なしに何らかの方法でコーディングできますか? そうでなければ、どのように実装しますか?
編集:私の現在の解決策。toArray
まず、そのような警告自体がないようにしたかったのです。したがって、これらの小さなヘルパー関数をコーディングしました (これらについての詳細な説明については、こちらを参照してください)。
今、私のtoArray
実装は次のようになります。
java - Java (1.5 以降) で、Set から (任意の) 要素をフェッチする最もパフォーマンスの高い方法は何ですか?
以下のコードでは、toSearch から任意の要素を取得する必要がありました。Set インターフェイス定義で、セットの単一の (ランダムですが、ランダムである必要はない) メンバーだけを返す便利なメソッドを見つけることができませんでした。そこで、toArray()[0]手法を使用しました (以下のコードに示されています)。
私が議論した他のテクニックは、" (Coordinate)toSearch.toArray()[0] " を " toSearch.iterator().next() " に置き換えることです。toArray() と iterator() のどちらの手法が、GC (ガベージ コレクション) への影響が最も少なく、最も高速に実行される可能性が最も高いでしょうか?
私の直感 (この質問を作成した後) は、Iterator を使用する 2 番目の手法は、実行速度が速く、GC のオーバーヘッドが少ないということです。渡される Set の実装がわからない場合 (HashSet または LinkedHashSet が最も可能性が高いと仮定)、 toArray() または iterator() メソッドのそれぞれでどのくらいのオーバーヘッドが発生しますか? これに関する洞察は大歓迎です。
質問 (上からの繰り返し):
- toArray() と iterator() のどちらの手法が、GC (ガベージ コレクション) への影響が最も少なく、最も高速に実行される可能性が最も高いでしょうか?
- 渡される Set の実装がわからない場合 (HashSet または LinkedHashSet が最も可能性が高いと仮定)、 toArray() および iterator() メソッドのそれぞれでどのくらいのオーバーヘッドが発生しますか?
java - java:(String [])List.toArray()はClassCastExceptionを与えます
次のコード(Androidで実行)では、常に3行目にClassCastExceptionが発生します。
これは、v2がObject [0]の場合、および文字列が含まれている場合にも発生します。なぜアイデアはありますか?
.net - LINQ ToArray()が常に新しいインスタンスを返すことに依存できますか?
IEnumerable<T>
後で参照できるように、パラメーターのクローンを作成する簡単な方法を探しています。LINQのToArray
拡張メソッドは、これを行うための優れた簡潔な方法のようです。
ただし、常に新しい配列インスタンスを返すことが保証されているかどうかはわかりません。LINQメソッドのいくつかは、列挙可能なものの実際のタイプをチェックし、可能であればショートカットをチェックします。たとえば、Count()
メソッドがを実装ICollection<T>
しているかどうかを確認し、実装している場合は、そのCount
プロパティを直接読み取ります。必要な場合にのみコレクションを繰り返します。
実用的な場合の短絡の考え方を考えると、ToArray()
すでに配列であるものを呼び出すと、短絡して同じ配列インスタンスを返す可能性があるようです。ToArray()
これにより、メソッドの要件が技術的に満たされますToArray
。
簡単なテストから、.NET 4.0ではToArray()
、配列を呼び出すと新しいインスタンスが返されるようです。私の質問は、これに頼ることができますか?ToArray
Silverlightや.NETFrameworkの将来のバージョンでも、常に新しいインスタンスが返されることを保証できますか?この点で明確なドキュメントはどこかにありますか?
java - なぜJavaのコレクションは.toArray() は E[] ではなく Object[] を返しますか?
Java ジェネリック以前Collection.toArray()
は、開発者が期待する配列の型を知る方法がありませんでした (特に空のコレクションの場合)。私が理解しているように、これがイディオムの背後にある主な理論的根拠でしたcollection.toArray(new E[0])
。
ジェネリックを使用するとCollection<E>.toArray()
、インスタンスE
および/またはその特殊化でいっぱいの配列のみを返すことができます。Object[]
戻り値の型がまだ asではなくas であるのはなぜだろうかE[]
。E[]
私の意見では、代わりにを返すことは、Object[]
既存のコードを壊すべきではありません。
参照:Collection.toArray()
およびCollection.toArray(T[])
関連トピックjava: (String[])List.toArray() は ClassCastException を与える