- 浏览: 55752 次
- 性别:
- 来自: 上海
最新评论
ArrayList和LinkedList的比较
ArrayList底层采用数组完成,而LinkedList则是以一般的双向链表(double-linked list)完成,其内每个对象除了数据本身外,还有两个 引用,分别指向前一个元素和后一个元素。
如果我们经常在List的开始处增加元素,或者在List中进行插入和删除操作,我们应该使用LinkedList,否则的话,使用ArrayList将更加快速。
java 代码
- //LinkedList实现堆栈
- import java.util.*;
- public class MyStack {
- private LinkedList ll = new LinkedList();
- public void push(Object o) {
- ll.addFirst(o);
- }
- public Object pop() {
- return ll.removeFirst();
- }
- public Object peek() {
- return ll.getFirst();
- }
- public boolean empty() {
- return ll.isEmpty();
- }
- public static void main(String[] args) {
- MyStack ms = new MyStack();
- ms.push("one");
- ms.push("two");
- ms.push("three");
- System.out.println(ms.pop());
- System.out.println(ms.peek());
- System.out.println(ms.pop());
- System.out.println(ms.empty());
- }
- }
- /*结果
- three
- two
- two
- false
- */
java 代码
- //LinkedList实现队列
- import java.util.*;
- public class MyQueue {
- private LinkedList ll = new LinkedList();
- public void put(Object o) {
- ll.addLast(o);
- }
- public Object get() {
- return ll.getFirst();
- }
- public boolean empty() {
- return ll.isEmpty();
- }
- public static void main(String[] args) {
- MyQueue mq = new MyQueue();
- mq.put("zhangsan");
- mq.put("lisi");
- mq.put("wangwu");
- System.out.println(mq.empty());
- System.out.println(mq.get());
- }
- }
- /*
- false
- zhangsan
- *
- */
java 代码
- //HashSet用法例子
- import java.util.*;
- public class HashSetTest {
- public static void main(String[] args) {
- HashSet hs = new HashSet();
- // hs.add("one");
- // hs.add("two");
- // hs.add("three");
- // hs.add("one");
- hs.add(new Student(1, "zhangsan"));
- hs.add(new Student(2, "lisi"));
- hs.add(new Student(3, "wangwu"));
- hs.add(new Student(1, "zhangsan"));
- Iterator iter = hs.iterator();
- while (iter.hasNext()) {
- System.out.println(iter.next());
- }
- }
- }
- class Student {
- int num;
- String name;
- Student(int num, String name) {
- this.num = num;
- this.name = name;
- }
- public int hashCode() { // 重写hashCode()方法覆盖
- return num * name.hashCode();
- }
- public boolean equals(Object o) {//重写equals()方法覆盖
- Student s = (Student) o;
- return num == s.num && name.equals(s.name);
- }
- public String toString() {
- return num + ":" + name;
- }
- }
- /*结果
- 1:zhangsan
- 3:wangwu
- 2:lisi
- *
- */
java 代码
- /*
- * TreeSet
- public TreeSet()构造一个新的空 set,该 set 按照元素的自然顺序排序。
- 插入该 set 的所有元素都必须实现 Comparable 接口。而且,
- 所有此类元素必须是可相互比较的:为 set 中的任何元素 e1 和 e2
- 执行 e1.compareTo(e2) 时必须不抛出 ClassCastException。
- 如果用户尝试将违背此约束的元素添加到 set 中(例如,用户试图将字符
- 串元素添加到其元素为整数的 set 中),则 add(Object) 调用将抛出
- ClassCastException。
- */
- import java.util.*;
- public class TreeSetTest {
- public static void main(String[] args) {
- TreeSet ts = new TreeSet(new Student.StudentComparator());
- // ts.add("winsun");
- // ts.add("weixin");
- // ts.add("mybole");
- ts.add(new Student(2,"zhangsan"));
- ts.add(new Student(1,"lisi"));
- ts.add(new Student(3,"wangwu"));
- ts.add(new Student(3,"mybole"));
- Iterator iter = ts.iterator();
- while(iter.hasNext()) {
- System.out.println(iter.next());
- }
- }
- }
- class Student implements Comparable
- {
- int num;
- String name;
- static class StudentComparator implements Comparator
- {
- public int compare(Object o1,Object o2)
- {
- Student s1=(Student)o1;
- Student s2=(Student)o2;
- int result=s1.num > s2.num ? 1 : (s1.num==s2.num ? 0 : -1);
- if(result==0)
- {
- result=s1.name.compareTo(s2.name);
- }
- return result;
- }
- }
- Student(int num,String name)
- {
- this.num=num;
- this.name=name;
- }
- public int compareTo(Object o)
- {
- Student s=(Student)o;
- return num > s.num ? 1 : (num==s.num ? 0 : -1);
- }
- public String toString()
- {
- return num+":"+name;
- }
- }
- /*
- 1:lisi
- 2:zhangsan
- 3:mybole
- 3:wangwu
- */
- */
java 代码
- //HashMap用法
- import java.util.*;
- public class HashMapTest {
- // printElements()通过迭代器打印集合中的元素
- public static void printElements(Collection c)
- {
- Iterator it=c.iterator();
- while(it.hasNext())
- {
- System.out.println(it.next());
- }
- }
- public static void main(String[] args) {
- HashMap hm = new HashMap();
- hm.put("one", "zhangsan");
- hm.put("two", "lisi");
- hm.put("three", "wangwu");
- System.out.println(hm.get("one"));
- System.out.println(hm.get("two"));
- System.out.println(hm.get("three"));
- Set keys=hm.keySet();//返回此映射中所包含的键的 set 视图。
- System.out.println("key:");
- printElements(keys);
- Collection values = hm.values();//返回此映射所包含的值的 collection 视图。
- System.out.println("values:");
- printElements(values);
- Set entry = hm.entrySet();//返回此映射所包含的映射关系的 collection 视图
- System.out.println("entry:");
- printElements(entry);
- }
- }
- /*
- zhangsan
- lisi
- wangwu
- key:
- one
- two
- three
- values:
- zhangsan
- lisi
- wangwu
- one=zhangsan
- two=lisi
- three=wangwu
- */
更多方法参看 java.util.* 里面相应的类。。。。。。。。。。。。。。
发表评论
-
ddddddddddddddd
2009-04-07 22:56 0dddddddddddddd -
工厂模式经典例子
2007-10-31 21:28 1551package org.lxh.demo ; import j ... -
笔记**************
2007-10-31 21:26 1340环境变量C:\jdk1.5.0_04 JDK安装路径 JA ... -
thinkinjava一系列项目
2007-08-15 13:26 1169本章包含了一系列项目 ... -
附录C Java编程规则
2007-08-15 13:25 1010本附录包含了大量有用 ... -
附录A 使用非JAVA代码
2007-08-15 13:24 1338附录A 使用非JAVA代码 JA ... -
对比C++和Java
2007-08-15 13:20 954附录B 对比C++和Java “作为一名C++程序员,我们早 ... -
JSP笔记
2007-08-08 18:16 2143Tomcat下建立虚拟目录 例: 建立目录 d ... -
JSP & Servlet解惑^_^
2007-08-07 19:03 1586钻进去几天,虽然网上找过问题的答案,但到现在看到Marty ... -
java笔记十
2007-08-03 21:03 729java 代码 pa ... -
java笔记九
2007-08-02 12:45 1008java 代码 /* AWT(A ... -
java笔记八
2007-08-01 19:02 978对象序列化 将对象转换为字节流保存起来,并在日后还原这个对象, ... -
java笔记七
2007-08-01 16:16 1094java 代码 /*RandomAcce ... -
java笔记六
2007-07-31 19:07 931流(Stream)是字节的源或目的。 两种基本的流是:输入流( ... -
java笔记四
2007-07-31 08:51 956程序是计算机指令的集合,它以文件的形式存储在磁盘上。 进程:是 ... -
java笔记三
2007-07-28 18:27 894java 代码 /*java迭代器Iterat ... -
eclipse快捷键
2007-07-28 13:07 824本文档从Eclipse软件上整 ... -
java笔记二
2007-07-28 13:06 834java 代码 //*孙鑫教程笔记。接口中run ... -
java笔记一
2007-07-27 17:15 846java 代码 //: notes about ... -
在eclipse + MyEclipse+tomcat下配置建立J2EE工程环境
2007-07-26 19:13 4401在eclipse + MyEclipse+tomcat下配置 ...
相关推荐
java笔记java笔记java笔记java笔记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学习资料,由知名编程教育者宋红康编撰。这份压缩包文件包含了大量的Java编程知识点,旨在帮助初学者和有经验的开发者深入理解和掌握Java语言的核心概念与高级特性。以下是根据...
【Java笔记桌面程序】 在IT领域,开发个人定制的桌面应用程序是解决特定需求的有效方法。本项目名为"Java笔记桌面程序",它是由一个热衷于编程的开发者为解决其所在公司无法使用网络笔记客户端的问题而自创的。这个...
这份"非常好的java笔记"无疑是初学者踏入这个领域的宝贵资源。笔记由培训班的专业老师编写,内容详细且全面,旨在帮助初学者系统地学习和理解Java的基础知识。 首先,Java基础部分会涵盖变量、数据类型、运算符、...
专业的Java笔记可能会涉及这些内容,帮助学习者掌握Java的最新发展。 遗憾的是,由于【部分内容】部分不包含实际的笔记内容,无法进一步提供具体的编程示例和深入的解释。如果要学习Java,最好的方式是从学习Java的...
【标题】"java读书笔记笔记笔记笔记笔记笔记" 暗示了这是一份关于Java编程语言的学习笔记,可能包含了作者在阅读Java相关书籍时所做的重要记录和理解。笔记通常涵盖了语言的基础概念、核心特性、类与对象、内存管理...
《狂神说Java笔记资料》是一份全面涵盖Java开发基础知识的文档集,旨在帮助学习者系统地掌握Java编程。这份笔记包含多个章节,每个章节都深入讲解了一个特定的主题,覆盖了从初学者到进阶开发者必备的知识点。 1. *...
【Java笔记内容概览】 1. **基础语法**:涵盖变量、数据类型、运算符、流程控制(条件语句、循环语句)、数组、字符串等基础知识。 2. **面向对象**:讲解类、对象、封装、继承、多态等核心概念,以及构造函数、...
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笔记java笔记
5. Java 8新特性:18Java8新特性.md中会涵盖Lambda表达式、函数式接口、Stream API、日期和时间API等Java 8的重要更新,这些新特性极大地简化了代码,增强了Java的表达力。 6. 反射与动态代理:17反射与动态代理.md...
“尚硅谷JAVA基础笔记”涵盖了Java语言的基础知识,包括语言概述、基本语法、面向对象概念、封装、继承和多态,以及一些关键概念如形参与实参、属性与局部变量、构造器、this关键字、包和MVC设计模式的使用。...
详细的描述了java的基本知识,配合看java视频更好了。 笔记中有集合,泛型,线程,的详细案例,还有java.net的资料
【Java学习笔记Markdown版】是针对Java初学者和进阶者的一份详尽教程,以Markdown格式编写,便于阅读和整理。Markdown是一种轻量级的标记语言,它允许用户使用易读易写的纯文本格式编写文档,然后转换成结构化的HTML...
【标题】"韩顺平java笔记完整版.zip(无笔记,只是代码)"指的是一个包含韩顺平老师Java教学视频中所有代码的压缩文件。这个压缩包不包含笔记,而是专注于提供实际的编程示例,使得学习者可以直接查看和学习Java编程...
"java笔记全套下载" 提供的可能是一系列详细的学习资料,涵盖了从基础到高级的Java知识体系,帮助学习者系统地掌握这门语言。 Java的基础知识包括: 1. **Java语法**:了解变量、数据类型、运算符、流程控制(如if-...