EditPlus排列数据。 如何将一段数据例如:10000,123123,566自动按位数排列成为566,10000,123123
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了EditPlus排列数据。 如何将一段数据例如:10000,123123,566自动按位数排列成为566,10000,123123相关的知识,希望对你有一定的参考价值。
还有EditPlus下如何去除行重复的数据
EditPlus不用先排序,也可以删除重复行,你选择编辑-删除-删除重复行就可以了。 参考技术A 复制到Excel中,操作完毕后粘贴回来追问100万,不好弄吧?没什么别的其他的方法了吗?
本回答被提问者采纳如何按升序或降序排列firebase数据库数据?
【中文标题】如何按升序或降序排列firebase数据库数据?【英文标题】:How to arrange firebase database data in ascending or descending order? 【发布时间】:2018-05-23 03:34:20 【问题描述】:我已经设置了一个 firebase 数据库,我想知道如何制作它,以便我的 listView 以升序或降序显示我的数据。
例如:如果我想要最贵的东西,我会把它放在我的 listView 顶部,而便宜的放在底部。
基本上,我正在尝试创建一个排名活动,其中我有两个单独的列表视图,它们按成本排名并单独计数。
这是我所拥有的:
@Override
protected void onStart()
super.onStart();
itemlists=new ArrayList<String>();
databaseItems.child("items").addValueEventListener(new ValueEventListener()
@Override
public void onDataChange(DataSnapshot dataSnapshot)
for (DataSnapshot itemSnapShot : dataSnapshot.getChildren())
String itemname=itemSnapShot.child("itemName").getValue().toString();
itemlists.add(itemname);
adapter = new ArrayAdapter(SearchActivity.this,android.R.layout.simple_list_item_1,itemlists);
listFinalCount.setAdapter(adapter);
@Override
public void onCancelled(DatabaseError databaseError)
);
【问题讨论】:
这将是一个两步过程:1) 将数字存储为数字而不是字符串(就像您现在所做的那样)2) 了解如何从 Firebase 获取降序结果(例如:***.com/questions/34156996/…) 我的思考过程是从 firebase 中检索我的数据并将其与其他数据进行比较,然后在 listview 中重新列出? 【参考方案1】:如果要对 Firebase 数据库查询的结果进行排序,则需要使用数字作为值,不是字符串。如果您保留字符串,正如我在您的屏幕截图中看到的那样,您需要知道字符串是按lexicographically
排序的,我确定这不是您想要的。
按升序或降序排列数据的最简单方法是在客户端。默认情况下,Firebase 可以按给定属性对结果进行升序排序。 Firebase 中没有按降序排序的方法,但可以进行一些调整。
如果您使用RecyclerView
来显示数据,最简单的方法是使用以下代码:
LinearLayoutManager layoutManager = new LinearLayoutManager(getActivity());
layoutManager.setReverseLayout(true);
layoutManager.setStackFromEnd(true);
recyclerView.setLayoutManager(layoutManager);
此方法将反转您的顺序。
另一种方法是创建自己的适配器,扩展 FirebaseListAdapter
并覆盖 getItem()
方法。
另一种方法是从数据库中获取数据,将其添加到Collection
,List
将是一个很好的解决方案,然后使用Collections.reverse(yourList);
。
【讨论】:
【参考方案2】:如officail documentation中所述
firebaseDatabase.getReference().child("items").orderByChild("itemCost").addValueEventListener(new ValueEventListener()
@Override
public void onDataChange(@NonNull DataSnapshot snapshot)
//list.clear(); clear the list before updating.
for(DataSnapshot dataSnapshot : snapshot.getChildren())
// todo here
Adapter.notifyDataSetChanged();
@Override
public void onCancelled(@NonNull DatabaseError error)
System.out.println("The read failed: " + error.getCode());
);
注意:任何没有我们要查询的子键的节点都以 null 值排序,这意味着它将在排序中排在第一位。
【讨论】:
以上是关于EditPlus排列数据。 如何将一段数据例如:10000,123123,566自动按位数排列成为566,10000,123123的主要内容,如果未能解决你的问题,请参考以下文章