Java
 Computer >> コンピューター >  >> プログラミング >> Java

Javaでシーケンス内で2番目に繰り返される単語を検索する


Javaでシーケンス内で2番目に繰り返される単語を見つけるためのコードは、次のとおりです-

import java.util.*;
public class Demo{
   static String second_repeated(Vector<String> my_seq){
      HashMap <String, Integer> my_map = new HashMap<String,Integer>(my_seq.size()){
         @Override
         public Integer get(Object key){
            return containsKey(key) ? super.get(key) : 0;
         }
      };
      for (int i = 0; i < my_seq.size(); i++)
      my_map.put(my_seq.get(i), my_map.get(my_seq.get(i))+1);
      int first_val = Integer.MIN_VALUE;
      int sec_val = Integer.MIN_VALUE;
      Iterator<Map.Entry<String, Integer>> my_iter = my_map.entrySet().iterator();
      while (my_iter.hasNext()){
         Map.Entry<String, Integer> ent = my_iter.next();
         int v = ent.getValue();
         if( v > first_val){
            sec_val = first_val;
            first_val = v;
         }
         else if (v > sec_val && v != first_val)
         sec_val = v;
      }
      my_iter = my_map.entrySet().iterator();
      while (my_iter.hasNext()){
         Map.Entry<String, Integer> ent = my_iter.next();
         int v = ent.getValue();
         if (v == sec_val)
         return ent.getKey();
      }
      return null;
   }
   public static void main(String[] args){
      String arr[] = {"This", "sample", "only", "anything", "sample", "from", "sample","only"};
      List<String> my_seq = Arrays.asList(arr);
      System.out.println("The second most repeated word in the sequence is : ");
      System.out.println(second_repeated(new Vector<>(my_seq)));
   }
}

出力

The second most repeated word in the sequence is :
Only

Demoという名前のクラスには、ハッシュマップを作成し、ハッシュマップ内の特定の値のキーを返す「get」関数をオーバーライドする関数「second_repeated」が含まれています。イテレータが作成され、「hasNext」関数を使用して後続の要素が繰り返されます。

イテレータは、単語が繰り返された回数を確認し、最も多く繰り返された最初の単語が検出されて保存されます。ここでも、次のようなアクションが実行されます

2番目に繰り返される単語を与えます。メインクラスには、文字列配列とリストが含まれています。この文字列配列もリストに変換されます。この新しいリストで関数「second_repeated」関数が呼び出され、関連する出力がコンソールに表示されます。


  1. 台形の領域を見つけるJavaプログラム

    この記事では、台形の領域を見つける方法を理解します。台形は、少なくとも1対の辺が互いに平行な四辺形の一種です。台形の平行な側面はベースと呼ばれ、台形の非平行な側面は脚と呼ばれます。台形とも呼ばれます。 台形の面積は、式-を使用して計算されます。 (height/2 * (side_1 + side_2). i.e. Area = ½ x (sum of the lengths of the parallel sides) x perpendicular distance between parallel sides 以下は同じもののデモンストレーションです。平行な辺aとbの長

  2. 長方形の周囲を見つけるJavaプログラム

    この記事では、長方形の周囲を見つける方法を理解します。長方形の周囲長は、長方形のすべての辺の長さを加算して計算されます。 以下は長方形のデモンストレーションです。長方形の周囲は、長方形の2つの長さと2つの幅の全長です- 入力 入力が-であると仮定します The length of the sides of a rectangle are : 5, 8, 5, 8 出力 必要な出力は-になります Perimeter : 26 アルゴリズム Step 1 – START Step 2 – Declare 5 floating point variabl