問題タブ [duplicates]

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.

0 投票する
15 に答える
47148 参照

java - Javaを使用してファイル内の重複行を削除する

私が取り組んでいるプロジェクトの一環として、重複した行エントリを生成したファイルをクリーンアップしたいと考えています。ただし、これらの重複は、多くの場合、互いに近くには発生しません。私はJavaでこれを行う方法を思いつきました(基本的にファイルのコピーを作成し、ネストされたwhileステートメントを使用して、1つのファイルの各行を他のファイルと比較しました)。問題は、生成されたファイルがかなり大きく、テキストが重い (約 225k 行のテキスト、約 40 MB) ことです。現在のプロセスには 63 時間かかると見積もっています。これは絶対に受け入れられません。

ただし、これには統合ソリューションが必要です。できればJavaで。何か案は?ありがとう!

0 投票する
1 に答える
2582 参照

mysql - MySQL/Hibernate での重複エントリ エラー

次の問題に直面しており、適切な解決策が見つかりません。属性 id、x (外部キー)、y (シーケンス番号)、および z (コンテンツ) を持つ関係 A があります。さらに、xy には一意性制約があります。つまり、通常、(455, 159, 1, ...)、(456, 159, 2, ...)、(457, 159, 3, ...) などのタプルがあります。Hibernate を使用していますこれは、特定のクラスのマッピング テーブルです。ここで、新しいオブジェクトを挿入するか、既存のオブジェクトを削除して他のオブジェクトのシーケンス番号を更新するユースケースがあります。たとえば、1 の直後に新しいオブジェクトを挿入すると、シーケンス番号 2 が取得され、その後、以前は 2 だったオブジェクトが 3 になり、3 が 4 になるなどです。オブジェクト 2 (古い 3) を削除すると、同様のことが起こるはずです。その後、2などになります。

ただし、更新がトリガーされると ConstraintViolationException が発生します。

SEVERE: Could not synchronize database state with session org.hibernate.exception.ConstraintViolationException: Could not execute JDBC batch update ... Caused by: java.sql.BatchUpdateException: Duplicate entry '159-2' for key 2

なぜこれが起こるのか、私にはうまく説明できません。コミット/セッション フラッシュがないため、Hibernate/MySQL は一時的な不一致を処理でき、コミットの制約をチェックします。欠けているものはありますか、それとも主要な回避策なしにこれを行う方法は本当にありませんか?

乾杯

0 投票する
24 に答える
467726 参照

c++ - 重複を消去してベクターをソートする最も効率的な方法は何ですか?

潜在的に多くの要素を含む C++ ベクトルを取得し、重複を消去して並べ替える必要があります。

現在、以下のコードがありますが、機能しません。

どうすればこれを正しく行うことができますか?

さらに、最初に重複を消去する (上記のコードと同様) か、最初に並べ替えを実行する方が高速ですか? 最初にソートを実行すると、std::unique実行後にソートされたままになることが保証されますか?

または、これをすべて行う別の (おそらくより効率的な) 方法はありますか?

0 投票する
3 に答える
8863 参照

mysql - テーブルからの重複行の削除

データベースに、削除したいレコードが重複しているテーブルがあります。このための個別のエントリを持つ新しいテーブルを作成したくありません。私が望むのは、新しいテーブルを作成せずに、既存のテーブルから重複するエントリを削除することです。これを行う方法はありますか?

これらはすべて私のフィールドです:
id はすべての行で一意です。
L11_data は、それぞれのアクション フィールドに固有です。
L11_data には会社名があり、action には業界名があります。

したがって、私のデータでは、それぞれの業界の L11_data に会社名が重複しています。

私が欲しいのは、実際に保存されている特定の業界の企業の一意の名前とその他のデータです。皆さんが理解できる方法で私の問題を述べたことを願っています。

0 投票する
8 に答える
2560 参照

java - (Java) 優れたライブラリとその概要

私たちが気に入っている、および/または便利だと思っているサードパーティの Java ライブラリのリストをまとめてみましょう。

選択した内容を返信として投稿します

0 投票する
19 に答える
274104 参照

java - 重複キーを使用したマップの実装

重複したキーを持つマップが必要です。

多くのマップ実装があることを知っているので (Eclipse は約 50 を示しています)、これを可能にするものがあるに違いありません。これを行う独自のマップを作成するのは簡単ですが、既存のソリューションを使用したいと思います。

commons-collections または google-collections の何かでしょうか。

0 投票する
3 に答える
688 参照

import - 削除した主キーは再利用できますか?

0x80040237重複キーを挿入できません。

CrmServiceを介してMSCRM4.0のインポートルーチンを作成しようとしています。これはこの時点まで成功しています。最初は、CRMにレコードの主キーを生成させていました。しかし、私のクライアントは、カスタムエンティティのキ​​ーを事前定義された値に設定する機能を望んでいました。これにより、インストーラーによって作成されたデータと、インストール後に作成されたデータを知ることができる可能性があります。

CrmService.Update()メソッドを呼び出すときにGUIDを設定できることを確認するためにテストしました。その結果、レコードが目的の値で作成されたことが示されました。インポートを実行しましたが、すべて成功したようです。インポートファイルの検証コードを変更する際に、(crmブラウザインターフェイスを介して)データを削除し、再インポートを試みました。残念ながら、現在はスローされ、重複キーエラーが発生します。

このエラーがスローされるのはなぜですか?Crmインターフェイスはレコードを削除しますか、それともまだ存在していますがユーザーの目には見えませんか?削除されたレコードが完全に削除され、GUIDが無料になるようにする方法はありますか?ライブ環境では、これらのGuidは存在しなかったでしょうが、私の開発中に、これらのインポートを成功させる必要があります。

ちなみに、私がこの問題を抱えていることを考えると、これは、静的にGUIDを設定することが推奨される方法ではないことを意味しますか?

0 投票する
2 に答える
565 参照

merge - 重複のないテーブル マージ

MAS200 データベースと非同期に動作する Access 2007 データベースがあります。さまざまなオフィスの方針と官僚主義のせいで、ODBC でアクセスが簡単になったにもかかわらず、MAS200 データにアクセスできず、MAS200 から Access にデータ ダンプをインポートする必要があります。これとレポートの実行方法が原因で、ダンプにデータが重複することがあります。

私の解決策は、DATA テーブルと DUMP テーブルを用意することでした。インポートする前に、正しいクエリを見つけて、DUMP からの行が DATA に存在するかどうかを確認する必要があります。

両方のテーブルは次のようになります。さらに、複製とダンプのロジックが完了した後に手動で入力されるいくつかのフィールドが追加されます。

次のクエリを使用できると思いますが、機能していないようです。

コードを修正するか、より良い方法を教えてもらえますか?


編集!

この質問を最初に投稿してから、データベースが少し変更されました。私が修正しようとしているクエリは次のとおりです。

0 投票する
5 に答える
74453 参照

bash - コマンド ライン ツールを使用して、並べ替えられた順序で重複をカウントする

ログ ファイルを grep して一連の数値を除外するコマンド (cmd1) があります。数字はランダムな順序になっているため、 sort -gr を使用して逆順に並べ替えられた数字のリストを取得します。この並べ替えられたリスト内に重複がある可能性があります。そのリスト内の一意の番号ごとにカウントを見つける必要があります。

たとえば、cmd1 の出力が次の場合:

上記の出力をパイプできる別のコマンドが必要なので、次のようになります。