全网最全的Java数据结构宝典开源分享,网友:看这一篇就够了

Hello,今天给各位童鞋们分享的是Java数据结构,赶紧拿出小本子记下来吧

点赞再看,养成习惯,微信搜索lezijie009(备注21,不备注无法通过哦~)全是编程干货

有一线大厂面试完整考点、资料以及免费的学习资料。(乐字节)

// 数组初始化

int[] a; // 没有new即没有申请内存空间

int[] a = new int[2]; // 数组长度为2,且元素都为0

int[] a = new int[]{ 1, 2, 3 }; // 逐个初始化

int[] a = { 1, 2, 3 };

在Java1.2以后Java推出了JCF

JCF主要是实现类:

JCF主要的算法类

List主要实现:

遍历性能测试:

运行结果:

迭代器遍历用时:6505100纳秒索引遍历用时:4729700纳秒for-earch遍历用时:8569100纳秒

Process finished with exit code 0

遍历性能测试

运行结果:

迭代器遍历用时:6294100纳秒位置索引用时:3135172200纳秒for-earch遍历用时:6656100纳秒

public static void main(String[] args) {

Vector<Integer> vector = new Vector<>();

vector.add(1);

vector.add(2);

vector.add(3);

vector.add(4);

vector.add(1,3);

System.out.println(vector.size());

遍历性能测试

运行结果:

迭代器遍历用时:7155600纳秒位置索引用时:6508500纳秒for-earch遍历用时:6303000纳秒

运行结果:

HashSet size is 6[null, 6, 7, 8, 9, 10][null, 7, 8, 9, 10]

遍历性能测试:

运行结果:

迭代器遍历:1592900纳秒for-earch遍历:1032800纳秒

public static void main(String[] args) {

LinkedHashSet<Integer> integers = new LinkedHashSet<>();

integers.add(null);

integers.add(1);

integers.add(2);

integers.add(3);

// 以下重复元素插入无效

integers.add(3);

integers.add(null);

System.out.println(integers.size()); // 4

遍历性能测试:

public static void main(String[] args) {

TreeSet<Integer> treeSet = new TreeSet<>();

treeSet.add(100);

treeSet.add(10);

treeSet.add(1);

treeSet.add(12);

treeSet.add(13);

// 默认从小到大排序,输出为[1, 10, 12, 13, 100]

System.out.println(treeSet);

遍历性能测试:

运行结果:

迭代器遍历:2478900纳秒for-earch遍历:1279300纳秒

HashSet、LinkedHashSet和TreeSet

TreeSet判定元素重复的原则

以size作为元素重复的判定依据

注意:HashSet元素判定规则只与hashCode、equals方法有关,和compareTo方法无关

// 如果a>0,则obj1>obj2

// 如果a==0,则obj1==obj2

// 如果a<0,则obj1<obj2

int a = obj1.compareTo(obj2);

Java中的Map

public static void main(String[] args) {

Hashtable<Integer, String> hashtable = new Hashtable<>();

hashtable.put(1, "value 1");

hashtable.put(2, "value 2");

hashtable.put(3, "value 3");

// 输出{3=value 3, 2=value 2, 1=value 1}

System.out.println(hashtable);

遍历性能测试:

 

好啦,今天的文章就到这里了,希望能够帮助到屏幕前迷茫的你们

不管你是新手还是老手都能有帮助的资料,私信乐字节免费领取

想学习更多的编程知识:

→B站

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值