Artikel ini menjelaskan implementasi Java dari fungsi kesamaan kosinus dari menghitung matriks jarang. Bagikan untuk referensi Anda, sebagai berikut:
impor java.util.hashmap; kelas publik myudf { /*** udf mengevaluasi antarmuka** udf adalah satu-ke-satu di tingkat rekaman, dan satu-ke-satu atau banyak-ke-satu di lapangan. Metode evaluasi dipanggil sekali pada setiap catatan, input sebagai satu atau lebih bidang, dan output sebagai satu bidang*/ evaluasi ganda publik (String A, String b) {// TODO: Harap modifikasi parameter dan mengembalikan nilai sesuai kebutuhan, dan terapkan logika Anda sendiri di sini jika (a == null || b == null) mengembalikan 0,0; String temp1 [] = a.split (","); String temp2 [] = b.split (","); if (temp1 == null || temp2 == null) {return 0,0; } HashMap <string, double> map1 = new HashMap <string, double> (); Hashmap <string, double> map2 = new HashMap <string, double> (); untuk (string temp: temp1) {string t [] = temp.split (":"); Map1.put (t [0], double.parsedouble (t [1])); } untuk (string temp: temp2) {string t [] = temp.split (":"); peta2.put (t [0], double.parsedouble (t [1])); } fenzi ganda = 0; fenmu1 ganda = 0; untuk (string i: map1.keyset ()) {value double = map1.get (i); if (map2.get (i)! = null) {fenzi+= value*map2.get (i); } fenmu1+= nilai*nilai; } double fenmu2 = 0; untuk (double i: map2.values ()) {fenmu2+= i*i; } double fenmu = math.sqrt (fenmu1)*math.sqrt (fenmu2); return fenzi/fenmu; } public static void main (string [] args) {string a = "12: 500,14: 100,20: 200"; String b = "12: 500,14: 100,30: 100"; Myudf myudf = myudf baru (); System.out.println (myudf.evaluate (a, b)); }}Hasil Menjalankan:
0.9135468796041984
Untuk informasi lebih lanjut tentang algoritma java, pembaca yang tertarik dengan situs ini dapat melihat topik: "struktur data java dan tutorial algoritma", "ringkasan tips node dom java", "ringkasan file operasi java dan direktori" dan "ringkasan tip operasi java cache" tips java "tips java" Tips "Java Cache Tips"
Saya harap artikel ini akan membantu pemrograman Java semua orang.