`
windy2coast
  • 浏览: 55153 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

java笔记五

    博客分类:
  • Java
阅读更多

ArrayList和LinkedList的比较
ArrayList底层采用数组完成,而LinkedList则是以一般的双向链表(double-linked list)完成,其内每个对象除了数据本身外,还有两个 引用,分别指向前一个元素和后一个元素。
如果我们经常在List的开始处增加元素,或者在List中进行插入和删除操作,我们应该使用LinkedList,否则的话,使用ArrayList将更加快速。

 

java 代码
  1. //LinkedList实现堆栈   
  2. import java.util.*;   
  3. public class MyStack {   
  4.  private LinkedList ll = new LinkedList();   
  5.  public void push(Object o) {   
  6.   ll.addFirst(o);   
  7.  }   
  8.  public Object pop() {   
  9.   return ll.removeFirst();   
  10.  }   
  11.  public Object peek() {   
  12.   return ll.getFirst();   
  13.  }   
  14.  public boolean empty() {   
  15.   return ll.isEmpty();   
  16.  }   
  17.  public static void main(String[] args) {   
  18.   MyStack ms = new MyStack();   
  19.   ms.push("one");   
  20.   ms.push("two");   
  21.   ms.push("three");   
  22.   System.out.println(ms.pop());   
  23.   System.out.println(ms.peek());   
  24.   System.out.println(ms.pop());   
  25.   System.out.println(ms.empty());   
  26.  }   
  27. }   
  28. /*结果  
  29. three  
  30. two  
  31. two  
  32. false  
  33. */  
  34.   

 

java 代码
  1. //LinkedList实现队列   
  2. import java.util.*;   
  3. public class MyQueue {   
  4.  private LinkedList ll = new LinkedList();   
  5.  public void put(Object o) {   
  6.   ll.addLast(o);   
  7.  }   
  8.  public Object get() {   
  9.   return ll.getFirst();   
  10.  }   
  11.  public boolean empty() {   
  12.   return ll.isEmpty();   
  13.  }   
  14.     
  15.  public static void main(String[] args) {   
  16.   MyQueue mq = new MyQueue();   
  17.   mq.put("zhangsan");   
  18.   mq.put("lisi");   
  19.   mq.put("wangwu");   
  20.   System.out.println(mq.empty());   
  21.   System.out.println(mq.get());   
  22.  }   
  23. }   
  24. /*  
  25. false  
  26. zhangsan  
  27.  *   
  28.  */  


 

java 代码
  1.   
  2. //HashSet用法例子   
  3. import java.util.*;   
  4.   
  5. public class HashSetTest {   
  6.  public static void main(String[] args) {   
  7.   HashSet hs = new HashSet();   
  8.   // hs.add("one");   
  9.   // hs.add("two");   
  10.   // hs.add("three");   
  11.   // hs.add("one");   
  12.   hs.add(new Student(1"zhangsan"));   
  13.   hs.add(new Student(2"lisi"));   
  14.   hs.add(new Student(3"wangwu"));   
  15.   hs.add(new Student(1"zhangsan"));   
  16.   Iterator iter = hs.iterator();   
  17.   while (iter.hasNext()) {   
  18.    System.out.println(iter.next());   
  19.   }   
  20.  }   
  21. }   
  22.   
  23. class Student {   
  24.  int num;   
  25.   
  26.  String name;   
  27.   
  28.  Student(int num, String name) {   
  29.   this.num = num;   
  30.   this.name = name;   
  31.  }   
  32.   
  33.  public int hashCode() {   // 重写hashCode()方法覆盖   
  34.   
  35.   return num * name.hashCode();   
  36.  }   
  37.   
  38.  public boolean equals(Object o) {//重写equals()方法覆盖   
  39.   Student s = (Student) o;   
  40.   return num == s.num && name.equals(s.name);   
  41.  }   
  42.   
  43.  public String toString() {   
  44.   return num + ":" + name;   
  45.  }   
  46. }   
  47. /*结果   
  48. 1:zhangsan   
  49. 3:wangwu  
  50. 2:lisi  
  51.  *   
  52.  */  
  53.   

 

java 代码
  1. /*  
  2.  * TreeSet  
  3. public TreeSet()构造一个新的空 set,该 set 按照元素的自然顺序排序。  
  4. 插入该 set 的所有元素都必须实现 Comparable 接口。而且,  
  5. 所有此类元素必须是可相互比较的:为 set 中的任何元素 e1 和 e2   
  6. 执行 e1.compareTo(e2) 时必须不抛出 ClassCastException。  
  7. 如果用户尝试将违背此约束的元素添加到 set 中(例如,用户试图将字符  
  8. 串元素添加到其元素为整数的 set 中),则 add(Object) 调用将抛出  
  9.  ClassCastException。   
  10.  */  
  11.   
  12. import java.util.*;   
  13. public class TreeSetTest {   
  14.  public static void main(String[] args) {   
  15.   TreeSet ts = new TreeSet(new Student.StudentComparator());   
  16. //  ts.add("winsun");   
  17. //  ts.add("weixin");   
  18. //  ts.add("mybole");   
  19.   ts.add(new Student(2,"zhangsan"));   
  20.   ts.add(new Student(1,"lisi"));   
  21.   ts.add(new Student(3,"wangwu"));   
  22.   ts.add(new Student(3,"mybole"));   
  23.   Iterator iter = ts.iterator();   
  24.   while(iter.hasNext()) {   
  25.    System.out.println(iter.next());   
  26.   }    
  27.  }   
  28. }   
  29.   
  30.   
  31. class Student implements Comparable   
  32. {   
  33.  int num;   
  34.  String name;   
  35.  static class StudentComparator implements Comparator   
  36.  {   
  37.   public int compare(Object o1,Object o2)   
  38.   {   
  39.    Student s1=(Student)o1;   
  40.    Student s2=(Student)o2;   
  41.    int result=s1.num > s2.num ? 1 : (s1.num==s2.num ? 0 : -1);   
  42.    if(result==0)   
  43.    {   
  44.     result=s1.name.compareTo(s2.name);   
  45.    }   
  46.    return result;   
  47.   }   
  48.  }   
  49.  Student(int num,String name)   
  50.  {   
  51.   this.num=num;   
  52.   this.name=name;   
  53.  }   
  54.     
  55.  public int compareTo(Object o)   
  56.  {   
  57.   Student s=(Student)o;   
  58.   return num > s.num ? 1 : (num==s.num ? 0 : -1);   
  59.  }   
  60.  public String toString()   
  61.  {   
  62.   return num+":"+name;   
  63.  }   
  64. }   
  65.   
  66. /*  
  67. 1:lisi  
  68. 2:zhangsan  
  69. 3:mybole  
  70. 3:wangwu  
  71.  */  
  72. */   
  73.   

 

java 代码
  1.   
  2. //HashMap用法   
  3. import java.util.*;   
  4. public class HashMapTest {   
  5. // printElements()通过迭代器打印集合中的元素   
  6.  public static void printElements(Collection c)   
  7.  {   
  8.   Iterator it=c.iterator();   
  9.   while(it.hasNext())   
  10.   {   
  11.    System.out.println(it.next());   
  12.   }   
  13.  }   
  14.  public static void main(String[] args) {   
  15.   HashMap hm = new HashMap();   
  16.   hm.put("one""zhangsan");   
  17.   hm.put("two""lisi");   
  18.   hm.put("three""wangwu");   
  19.      
  20.   System.out.println(hm.get("one"));   
  21.   System.out.println(hm.get("two"));   
  22.   System.out.println(hm.get("three"));   
  23.      
  24.   Set keys=hm.keySet();//返回此映射中所包含的键的 set 视图。   
  25.   System.out.println("key:");   
  26.   printElements(keys);   
  27.      
  28.   Collection values = hm.values();//返回此映射所包含的值的 collection 视图。   
  29.   System.out.println("values:");   
  30.   printElements(values);   
  31.      
  32.   Set entry = hm.entrySet();//返回此映射所包含的映射关系的 collection 视图   
  33.   System.out.println("entry:");   
  34.   printElements(entry);   
  35.  }   
  36.   
  37. }   
  38. /*  
  39. zhangsan  
  40. lisi  
  41. wangwu  
  42. key:  
  43. one  
  44. two  
  45. three  
  46. values:  
  47. zhangsan  
  48. lisi  
  49. wangwu  
  50. one=zhangsan  
  51. two=lisi  
  52. three=wangwu  
  53.  */  
  54.   

 

更多方法参看  java.util.*  里面相应的类。。。。。。。。。。。。。。

 

 

 
分享到:
评论

相关推荐

    java笔记java笔记

    java笔记java笔记java笔记java笔记java笔记java笔记java笔记

    java笔记整理(超详细) java笔记整理(超详细)

    5. **构造器**: - 构造器用于初始化新创建的对象,不能被重写(override),但可以重载(overload)。 - 私有的构造器可以防止其他类实例化,通常在单例模式中使用。 6. **重载和重写**: - 重载发生在同一类中...

    Java学习笔记学习笔记

    Java学习笔记Java学习笔记Java学习笔记Java学习笔记Java学习笔记Java学习笔记Java学习笔记Java学习笔记Java学习笔记Java学习笔记Java学习笔记Java学习笔记Java学习笔记Java学习笔记Java学习笔记Java学习笔记Java学习...

    java笔记 java笔记

    #### 5. 数组 数组是存储相同类型元素的有序集合。Java支持一维数组和多维数组。 - **声明数组**:指定数组的类型和名称。 - **创建数组**:使用`new`关键字分配内存空间。 - **初始化数组**:为数组中的元素赋值...

    Java笔记桌面程序

    【Java笔记桌面程序】 在IT领域,开发个人定制的桌面应用程序是解决特定需求的有效方法。本项目名为"Java笔记桌面程序",它是由一个热衷于编程的开发者为解决其所在公司无法使用网络笔记客户端的问题而自创的。这个...

    宋红康java笔记.rar

    【宋红康java笔记】是一份综合性的Java学习资料,由知名编程教育者宋红康编撰。这份压缩包文件包含了大量的Java编程知识点,旨在帮助初学者和有经验的开发者深入理解和掌握Java语言的核心概念与高级特性。以下是根据...

    非常好的java笔记适合初学者

    这份"非常好的java笔记"无疑是初学者踏入这个领域的宝贵资源。笔记由培训班的专业老师编写,内容详细且全面,旨在帮助初学者系统地学习和理解Java的基础知识。 首先,Java基础部分会涵盖变量、数据类型、运算符、...

    大佬的java笔记

    专业的Java笔记可能会涉及这些内容,帮助学习者掌握Java的最新发展。 遗憾的是,由于【部分内容】部分不包含实际的笔记内容,无法进一步提供具体的编程示例和深入的解释。如果要学习Java,最好的方式是从学习Java的...

    java读书笔记笔记笔记笔记笔记笔记

    【标题】"java读书笔记笔记笔记笔记笔记笔记" 暗示了这是一份关于Java编程语言的学习笔记,可能包含了作者在阅读Java相关书籍时所做的重要记录和理解。笔记通常涵盖了语言的基础概念、核心特性、类与对象、内存管理...

    java笔记 java笔记 java笔记

    【标题】:“Java笔记”是Java开发语言的学习记录,涵盖了从基础到高级的全面知识体系。这份笔记旨在帮助开发者深入理解和掌握Java编程的核心概念和技术。 【描述】:这份"Java笔记"来源于网络资源...

    狂神说Java笔记资料

    《狂神说Java笔记资料》是一份全面涵盖Java开发基础知识的文档集,旨在帮助学习者系统地掌握Java编程。这份笔记包含多个章节,每个章节都深入讲解了一个特定的主题,覆盖了从初学者到进阶开发者必备的知识点。 1. *...

    java全套笔记 来自狂神说java笔录.zip

    【Java笔记内容概览】 1. **基础语法**:涵盖变量、数据类型、运算符、流程控制(条件语句、循环语句)、数组、字符串等基础知识。 2. **面向对象**:讲解类、对象、封装、继承、多态等核心概念,以及构造函数、...

    java笔记.zip

    2020-4-6 java笔记 ---内部类 2020-4-6 java笔记 ---异常 2020-4-6 java笔记 --多线程 2020-4-8 java笔记 String类 2020-4-9 java 比较器 2020-4-10 java笔记 枚举类 2020-4-10 java 注解(Annotation) 2020-4-11 ...

    java笔记整理,java课堂笔记

    全套java笔记整理,侧边栏目录结构方便查看,纯手工整理。达内笔记整理。 已整理成带侧边栏目录的网页结构,方便复习大纲和跳转查看。大部分都带有笔记代码。 (默认设置为深珊瑚蓝色调,不喜欢可以把配置文件里的...

    java笔记java笔试题 java面试题

    这份"java笔记java笔试题 java面试题"的资源无疑是准备Java程序员的笔试和面试时的重要参考资料。以下是一些关键的Java知识点,这些内容可能会在笔记或面试中出现: 1. **Java基础**:Java的基础语法包括数据类型...

    java超强笔记

    "Java超强笔记"正是一份专为新手准备的学习资源,它全面涵盖了从Java环境的搭建到软件设计的各种概念,旨在提供一个易读且系统的学习路径。 首先,笔记可能会从Java的起源和发展开始介绍,让你了解这门语言的历史...

    java笔记本

    java笔记java笔记java笔记java笔记java笔记java笔记java笔记java笔记

    韩顺平编写的java学习笔记(全)

    ### 韩顺平编写的Java学习笔记概览 #### Java平台分类与运行机制 - **J2SE(Java 2 Platform, Standard Edition)**: 标准版Java开发平台,适用于桌面应用程序开发。 - **J2EE(Java 2 Platform, Enterprise ...

    Java基础 学习笔记 Markdownr版

    5. Java 8新特性:18Java8新特性.md中会涵盖Lambda表达式、函数式接口、Stream API、日期和时间API等Java 8的重要更新,这些新特性极大地简化了代码,增强了Java的表达力。 6. 反射与动态代理:17反射与动态代理.md...

    java学习笔记 传智博客java笔记

    详细的描述了java的基本知识,配合看java视频更好了。 笔记中有集合,泛型,线程,的详细案例,还有java.net的资料

Global site tag (gtag.js) - Google Analytics