Articles of 排序

Java,特殊排序一个ArrayList,末尾有较长的条目

我在Java中有一个ArrayList 。 现在我想用一些要求对它进行排序。 我在ArrayList中有这些项目,例如: xyz bcd abc_locked cde efg_locked fgh 我想在最后用_locked推回那些并保持秩序,以便做到这一点: xyz bcd cde fgh abc_locked efg_locked 做这个的最好方式是什么? 我是否必须遍历List删除String并再次添加它? 或者,还有更好的方法?

为Android排序ArrayAdapter

我有一个MultiAutoCompleteTextView,它允许您输入多个条目并显示自动填充建议。 我提交数据时出现问题。 我将任何输入的字符串添加到下拉列表中,但我尝试对数据进行排序失败。 在提交时执行的代码: final private Comparator comp = new Comparator() { public int compare(String e1, String e2) { return e1.toString().compareTo(e2.toString()); } }; ((ArrayAdapter) autoCompleteView.getAdapter()).add(getString()); ((ArrayAdapter) autoCompleteView.getAdapter()).sort(comp); 单击autoCompleteView时发生的代码: view.setOnClickListener(new OnClickListener() { public void onClick(View v) { adapter.getFilter().filter(null); //adapter.sort(comp); view.showDropDown(); } }); 任何人都可以发现我正在做的事情有什么问题吗? 编辑:在收集@Sam的更改后的更多信息 private ArrayList array = new ArrayList(); private ArrayAdapter adapter = new ArrayAdapter(this, […]

排序的联系人列表有重复,为什么?

我已经将我的手机联系人排序并列入了一个arraylist但是,我在列表中find了许多相同联系人姓名的副本。这种情况怎么样? 怎么避免这个? 这是我试过的, cursor = getContentResolver().query(ContactsContract.CommonDataKinds.Phone.CONTENT_URI, null, null, null, “(” + ContactsContract.CommonDataKinds.Phone.DISPLAY_NAME + “) ASC”); while (cursor.moveToNext()) { try { name = cursor.getString(cursor.getColumnIndex(ContactsContract.CommonDataKinds.Phone.DISPLAY_NAME)); phonenumber = cursor.getString(cursor.getColumnIndex(ContactsContract.CommonDataKinds.Phone.NUMBER)); contact_names_list.add(name); phone_num_list.add(phonenumber); } catch (Exception e) { e.printStackTrace(); } 谁能帮忙?

为什么Merge sort用于Android / Java API中的对象?

在Java中,基本types的Arrays.sort()使用快速排序。 另一方面,对象的Arrays.sort()使用Merge排序。 同样适用于Collection.sort() ,它也使用Merge排序。 集合排序使用下面的Arrays排序实现。 因此,简单来说,我可以说基元使用快速排序进行排序,但是使用合并排序对对象进行排序。 我的猜测是它与自己的排序算法有关。 关于快速排序与合并排序的SO有很多讨论,像这样和这个 。 似乎存在相互冲突的主张哪个更好,这是可以理解的,因为这取决于数据集。 我的理解是 到位:快速排序获胜。 可以在链接列表的就地实现合并排序 外部存储数据:合并排序获胜。 排序列表(由任何forms的链表支持):合并排序获胜。 链接 Android API似乎遵循与Java相同的模式。 这是我在Arrays.java中find的 public static void sort(long[] array) { DualPivotQuicksort.sort(array); } 和这个, public static void sort(Object[] array) { ComparableTimSort.sort(array); } 我不明白的是,是什么让Merge排序成为在Java或Android中排序对象的好选择? 为什么不把这个决定留给开发者?

排序字符串数组

我在我的values / strings.xml中有一个专业的字符串数组。我想按字母顺序对数组进行排序。我怎样才能实现它。 strings.xml中 Caretaker Cook Driver Governess HouseKeeper Maid Watchman Washerman Paper Supplier Milkman Electrician Ration Supplier Gas Supplier Volunteer Nurse Other Carpenter Plumber Mason Delivery Boy Gardner Janitor Launderer Dhobi/Press Odd Jobs Vendor Shopkeeper

Swift vs Kotlin对排序数组的表现

我尝试在Swift和Kotlin排序一个大小为100000000的数组,我可以看到它们之间存在巨大的性能差距。 对于这个数字, Kotlin速度几乎是Swift 18倍(在我的机器上)。 我记录了一些结果,我发现当尺寸大约为10000或更小时,swift更快但是一旦数量增加,与Kotlin相比, Swift变得非常慢。 Swift和Kotlin的代码如下, 迅速 let n = 100000000 var arr = Array(repeating: 0, count: n) for i in 1…n { arr[i-1] = Int(arc4random_uniform(UInt32(n))) } //Record time before sort arr.sort() //Record time after sort 科特林 val n = 100000000 val arr = IntArray(n) for (i in 1..n) { arr[i-1] = Random().nextInt(n) } […]

如何根据信号强度按升序对getScanResults()列表进行排序?

我按照以下代码将scanresult存储到列表中: List results = wifi.getScanResults(); sb = new StringBuilder(); try { for(int i = 0; i < results.size(); i++){ sb.append(new Integer(i+1).toString() + "."); sb.append("SSID:-").append((results.get(i).SSID).toString()); sb.append("BSSID:-").append((results.get(i).BSSID).toString()); sb.append("Level:-").append((results.get(i).level)); sb.append("Frequency:-").append((results.get(i).frequency)); sb.append("\n\n"); } textStatus.setText(""); textStatus.append("\n\n\n"); textStatus.append(sb); } 我想根据信号强度(级别)对此结果进行排序,因此我创建了一个具有数据级别和Mac的2D数组。 所以我为此编写了代码: String rssi[][]=new String[2][results.size()]; for(int i = 0; i <results.size(); i++){ rssi[0][i] = String.valueOf(results.get(i).level); rssi[1][i]= results.get(i).BSSID; } StringBuilder tmp=new StringBuilder(); Arrays.sort(rssi,new […]

排序lon \ lat点列表,从最近的开始

我有来自GPS(lon_base,lat_base)的位置。 我有一个位置列表(lon1,lat1 | lon2,lat2 | lon3,lat3 ……)这个列表非常长,遍布全球。 我的问题是:1。如何从该列表中仅获取距离我的lon_base \ lat_base 1英里的lon \ lat? 2.我如何从最近到最远的方式对它们进行排序? 提前致谢!

按字母顺序对列表中的名称进行排序?

你能帮我按字母顺序排序一个清单吗? 我的代码 emailList.add(contact.getUserName()); String[] emails = new String[emailList.size()]; emailList.toArray(emails); namesList.add(name); Collections.sort(emailList, new Comparator() { public int compare(Object o1, Object o2) { String name1 = (String) o1; String name2 = (String) o2; return name1.compareToIgnoreCase(name2); } }); System.out.println(“namesList.toString() = ” + namesList.toString());

存储任意排序顺序的最有效方法是什么?

我目前正在开发一款Android应用程序,用户可以通过任意顺序拖放来订购列表。 因此,我必须将排序顺序存储在列中的variables中。 我想给每一行提供100000,200000,300000等数字,如果用户在100000到200000之间移动一个项目,那么它的排序数就会变成其邻居的平均值,即150000.这样,我只需要更新如果我执行了正常的i + 1排序值,则单行的排序编号与表中的每一行相对。 什么是最有效的? 大数字使用更多资源还是需要更长时间才能排序? 我只期望<100行,所以如果大数字需要更长的时间来排序,我可能会更好地使用较小的数字和更频繁地“重置”(当两个排序数字相互聚合时)。 我知道有这么几行,如果我只是做了一个i + 1排序方法并且每次更新我的数据库中的每一行都没关系。 但我也在将我的SQLite数据与BAAS同步,其中大多数都不允许批量保存。 因此,对于我修改的每一行,我必须提出1个API请求。 这就是为什么我尝试最小化我在重新排序项目时修改的行数。 任何帮助,将不胜感激。

Intereting Posts