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() 方法。

另一种方法是从数据库中获取数据,将其添加到CollectionList 将是一个很好的解决方案,然后使用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的主要内容,如果未能解决你的问题,请参考以下文章

将 Vigenere Cipher 排列成列

将一段 C++ 代码包装成 Python

数据结构和算法排序算法概述

排列组合

excel里面怎么将一列数据平均的分成多列

密码学笔记—栅栏密码