`
yangxiao1995
  • 浏览: 874 次
  • 性别: Icon_minigender_1
  • 来自: 成都
社区版块
存档分类
最新评论

java基础的一些东西

阅读更多

1,分析:HashMap  TreeMap 键怎么做到唯一的,不重复的  

     HashMap判断键唯一的方式与HashSet是一样

     当我们使用Map集合,添加自定义了对象[元素],注意判断元素唯一,

  HashMap需要:自定义元素的类,中,需要覆写hashCode equals

    HashMap 代码示例:

    public static void main(String[] args) {

             HashMap hmp = new HashMap();

             Student stu1 = new Student("小明",10);

             Student stu2 = new Student("小明",20);

             hmp.put(stu1, 18);

             hmp.put(stu2, 18);

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

             System.out.println(hmp);

}

       class Student{

          int age; 

          String name;

          public Student(String name,int age) {

              super();

              this.name = name;

              this.age = age;

    }

//@Override

//public int hashCode() {

//

return 0;

//}

//@Override

//public boolean equals(Object obj) {

//return false;

//}

 

 

@Override

public String toString() {

// TODO Auto-generated method stub

return name+"-"+age;

}

 

 

@Override

public int hashCode() {

final int prime = 31;

int result = 1;

result = prime * result + age;

result = prime * result + ((name == null) ? 0 : name.hashCode());

return result;

}

 

 

@Override

public boolean equals(Object obj) {

if (this == obj)

return true;

if (obj == null)

return false;

if (getClass() != obj.getClass())

return false;

Student other = (Student) obj;

if (age != other.age)

return false;

if (name == null) {

if (other.name != null)

return false;

} else if (!name.equals(other.name))

return false;

return true;

}

TreeMap判断键唯一的方式与TreeSet一样

TreeMap需要:具有自然排序的能力,或者给指定定制比较器

下面是 指定定制比较器代码

 

public static void main(String[] args) {

//

Student stu1 = new Student("小明",10);

Student stu2 = new Student("小明",20);

 

Comparator<Object> aa = new Comparator<Object>() {

 

@Override

public int compare(Object o1, Object o2) {

// TODO Auto-generated method stub

return 1;

}

};

TreeMap tm = new TreeMap(aa);

tm.put(stu1, 50);

tm.put(stu1, 50);

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

System.out.println(tm);

 

}

class Student{

int age;

String name;

public Student(String name,int age) {

super();

this.name = name;

this.age = age;

}

 

 

 

@Override

public String toString() {

// TODO Auto-generated method stub

return name+"-"+age;

}

 

}

2,LinkedList和ArrayList问题

   ArrayList底层使用时数组。LinkedList使用的是链表。

  数组查询具有所有查询特定元素比较快。而插入和删除和修改比较慢(数组在内存中是一块连续的内存,如果插入或删除是需要移动内存)

  链表不要求内存是连续的,在当前元素中存放下一个或上一个元素的地址。查询时需要从头部开始,一个一个的找。所以查询效率低。插入时不需要移动内存,只需改变引用指向即可。所以插入或者删除的效率高

ArrayList使用在查询比较多,但是插入和删除比较少的情况,而LinkedList使用在查询比较少而插入和删除比较多的情况。

 

但是:

实际情况在数据少时linklist比较快,而数据多是arraylist要快的多。

3,

分享到:
评论

相关推荐

    自己记录的一些java基础的东西,希望能够经常回顾

    一些java基础的东西,有时候面试会问到,里面涵盖了数据类型,操作符等一些java基础的东西,有时候面试会问到,里面涵盖了数据类型,操作符等一些java基础的东西,有时候面试会问到,里面涵盖了数据类型,操作符等

    接口与抽象类的区别以及一些java基础

    接口与抽象类的区别java基础一些东西,这些东西在面试中是常考的。大家可以看看

    java基础笔记

    java基础 在命令行 控制台下的dos命令: 切换盘符 d: 进入某个目录 cd: 查看一个目录下有什么东西:dir 编译时 javac 源文件名 java 运行的时候 java 含有main方法的 类名 注意:不要写 class 公有的 public 的类 其...

    java基础入门教程+android必备基础

    java基础入门教程+android必备基础,总结的很不错的东西.pdf

    JAVA基础知识复习题

    题目大多是很基础的东西,对于复习JAVA基础知识很有帮助!

    广州腾科java基础

    广州腾科java基础,里面有很多java基础的东西,初学者可以看看!

    java基础入门二

    java基础入门课件、简单明了、没有多余的东西、都是精华

    java基础知识总结(很详细全面)

    这是一份作者话费很大精力,一点点在学习中总结出来的东西,希望能给更多java基础学习的人带来帮助,也给需要对所学java基础部分知识进行总结的同学以帮助!

    针对Android的Java基础学习

    针对Android的Java基础学习,针对很多东西进行了解析,相当好的东西,值得参考!希望对你有用!

    java基础项目shop

    java基础入门的东西,一点简单的实现。 1.商店中,进货(列出能够进货的食品,选择进货的食品,确定进货的数量),进货结束后,列出进货的食品清单 2.商店中,顾客来购买食品(列出能够购买的食品,顾客选择购买的...

    JAVA基础加强

    java基础加强版 ,更人性的巩固基础,万丈高楼平地起,只有打好基础,才能理解更复杂的东西

    java基础(最简单 的东西)

    java基础(最简单 的东西)

    Java语言基础笔记

    Java 语言的一些最基础的东西.可以用作复习等.

    java基础大纲xls格式

    java基础大纲,复习的好东西,很全面的知识框架图

    java基础知识总结

    适合入门学习java基础知识,不过基础的东西最重要啦

    Java语言基础教程(深入浅出)

    Java语言基础教程,深入浅出很值得初学者学习的东西

    Java基础讲座.pdf

    java继承与接口 前两天写东西,本来想把定义和实现分开来写的。类A有两个方法f1和f2,想把类A的定义、f1的实现和f2的实现分为三个java文件来写,看了看抽象类和接口。不过貌似都不是搞这个的样子。(求方法) 总结...

    JAVA基础知识总结

    一个JAVA的基础知识的总结性文档!从JAVA最基础的东西开始讲起,一直总结到了反射,很经典的总结啊!

    java基础----corejava的核心内容精髓

    该资源主要是corejava中一些重要的知识点,都是java的基础,把java学好,这些知识的必须得熟练掌握的,是学习后面相关java开发技术的垫脚石,这些学好了后面的就容易了。希望这写东西能帮助到你!

    java课程-java中的一些基本概念

    java中的一些基本概念,都是一些很基础的东西,比较适合初学者,第一课让我们对java有一个感性上的认识

Global site tag (gtag.js) - Google Analytics