على سبيل المثال ، أدخل "ABC" لطباعة جميع المجموعات الممكنة والقضاء على القيم المكررة.
مزيج الترتيب المزعوم على النحو التالي:
مجموعة ترتيب ، سلسلة: ABC
BCA
ACB
ABC
CBA
باك
سيارة أجرة
عدد الترتيب والمجموعات: 6
رمز التنفيذ (جنبًا إلى جنب مع تنفيذ تعبير Java8 Lambda)
استيراد org.junit.test ؛ استيراد java.util.arraylist ؛ استيراد java.util.hashset ؛ استيراد java.util.list ؛ اختبار الفئة العامة {test public void test3 () {string input = "abc" ؛ // 1. ابدأ في ترتيب القائمة <string> sortresult = sort (input) ؛ System.out.println ("مجموعة الفرز ، السلسلة:"+الإدخال) ؛ // 2. القضاء على الأعمدة المكررة hashset h = التجزئة الجديدة (sortresult) ؛ sortresult.clear () ؛ sortresult.addall (H) ؛ //3.printout sortresult.foreach (e -> system.out.println (e)) ؛ //4. } قائمة خاصة <Tring> sort (string input) {list <string> sortlist = new ArrayList () ؛ if (input == null || "" .equals (input)) {system.out.println ("tip: لقد أدخلت حرفًا فارغًا ، الرجاء إدخال قيمة صالحة!") ؛ إرجاع ArrayList New ArrayList () ؛ } char leftchar = input.charat (0) ؛ if (input.length ()> 1) {string righttring = input.subString (1 ، input.length ()) ؛ قائمة <String> RightTringSortedList = Sort (RightTring) ؛ RoledTringSortedList.foreach ((e) -> {for (int i = 0 ؛ i <e.length ()+1 ؛ i ++) {sortlist.add (new StringBuffer (e) .insert (i ، leftchar) .toString ()) ؛}}) ؛ } آخر {sortlist.add (string.valueof (leftchar)) ؛ } return sortlist ؛ }}إذا كان هناك تطبيق رمز أكثر إيجازًا ، فالرجاء عدم الإخلاص ونشره ومشاركته.
ما سبق هو كل محتوى هذه المقالة. آمل أن يكون ذلك مفيدًا لتعلم الجميع وآمل أن يدعم الجميع wulin.com أكثر.