Set接口实现类TreeSet源码及详解

一.TreeSet简介

此类实现Set接口,由二叉树实现的,TreeSet中的数据是自动排好序的,不允许放入null值。

 

 

 

 

 

 

二.常用方法

 

1. size():获取集合的长度

TreeSet<String> treeSet=new TreeSet<String>();
treeSet.add("ffff");
int num=treeSet.size();

 

 

2.isEmpty():集合是否为空

TreeSet<String> treeSet=new TreeSet<String>();
treeSet.add("ffff");
boolean b=treeSet.isEmpty();

 

 

3.add(E e):向集合中添加元素

TreeSet<String> treeSet=new TreeSet<String>();
treeSet.add("ffff");
treeSet.add("aaaa");

 

 

4.contains(Object o):集合中是否包含o元素

TreeSet<String> treeSet=new TreeSet<String>();
treeSet.add("ffff");
treeSet.add("aaaa");
boolean b=treeSet.contains("ffff");
boolean c=treeSet.contains("FFFFFF");
Log.d("TAG","b----:"+b);
Log.d("TAG","c----:"+c);
b----:true

c----:false

 

 

5.remove(Object o):删除o元素

TreeSet<String> treeSet=new TreeSet<String>();
treeSet.add("ffff");
treeSet.add("aaaa");
treeSet.add("aaaa");
treeSet.add("bbbb");
treeSet.add("bbbb");
treeSet.add("cccc");
treeSet.add("cccc");
treeSet.add("dddd");
int num1=treeSet.size();
Log.d("TAG","num1----:"+num1);
treeSet.remove("dddd");
int num2=treeSet.size();
Log.d("TAG","num2----:"+num2);
num1----:5

num2----:4

 

 

6.clear():清空集合

TreeSet<String> treeSet=new TreeSet<String>();
treeSet.add("ffff");
treeSet.add("aaaa");
treeSet.add("aaaa");
treeSet.add("bbbb");
treeSet.add("bbbb");
treeSet.add("cccc");
treeSet.add("cccc");
treeSet.add("dddd");
int num1=treeSet.size();
Log.d("TAG","num1----:"+num1);
treeSet.clear();
int num2=treeSet.size();
Log.d("TAG","num2----:"+num2);
num1----:5

num2----:0

 

 

7.iterator():遍历集合

package com.example.mytest;

import androidx.appcompat.app.AppCompatActivity;

import android.os.Bundle;
import android.util.Log;

import java.util.Iterator;
import java.util.TreeSet;

public class MainActivity extends AppCompatActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        initSet();
    }

    private void initSet() {
        TreeSet<String> treeSet = new TreeSet<String>();
        treeSet.add("ffff");
        treeSet.add("aaaa");
        treeSet.add("aaaa");
        treeSet.add("bbbb");
        treeSet.add("bbbb");
        treeSet.add("cccc");
        treeSet.add("cccc");
        treeSet.add("dddd");

        Iterator<String> i = treeSet.iterator();
        while (i.hasNext()) {
            Log.d("TAG", i.next() + "");
        }
    }

}
D/TAG: aaaa

D/TAG: bbbb

D/TAG: cccc

D/TAG: dddd

D/TAG: ffff

 

 

 

 

 

三.总结

TreeSet 有序 元素不可重复 元素不可为空 。没有get方法

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值