获取Array / dataSnapshot中唯一子项的数量?

时间:2017-07-30 17:05:08

标签: java android firebase firebase-realtime-database

以下代码可让我获取dataSnapshot内的子女数量。

            public void onDataChange(DataSnapshot dataSnapshot) {

                long numberChildren = dataSnapshot.getChildrenCount();
            }

            @Override
            public void onCancelled(DatabaseError databaseError) {
            }

我的问题是如何获得独特子女的数量?像这样的东西可以完美地运作:dataSnapshot.getUniqueChildrenCount()

1 个答案:

答案 0 :(得分:1)

不使用set的方法:

ArrayList<String> values=new ArrayList<String>();

        @Override
        public void onDataChange(DataSnapshot dataSnapshot) {


            for (DataSnapshot childDataSnapshot : dataSnapshot.getChildren()) {
                String children = childDataSnapshot.getValue(String.class);
                if (!values.contains(children)) {
                    values.add(newValue);
                }

            }

使用set:

的方法
Set<String> set = new HashSet<String>();
        @Override
        public void onDataChange(DataSnapshot dataSnapshot) {


            for (DataSnapshot childDataSnapshot : dataSnapshot.getChildren()) {
                String children = childDataSnapshot.getValue(String.class);
                set.add(children);

            }