- 浏览: 141569 次
- 性别:
- 来自: 北京
最新评论
-
yuhui136126:
我试了下好像不弹出选择时间这个,能帮忙是什么原因吗?
android日期控件显示 -
god_sky:
当月的最后一天减去当月的第一天就是当月的天数
日期的操作 -
wang492239163:
请问获取当前月的所有天怎么办
日期的操作
package com.sky.arrayset;
//ArrayList、Vector和LinkedList
import java.util.ArrayList;
import java.util.Iterator;
import java.util.LinkedList;
import java.util.List;
import java.util.ListIterator;
import java.util.Stack;
import java.util.Vector;
/**
* 演示各种List的使用
* @author sky
*List能维护元素的次序,它允许元素重复
*/
public abstract class TestList {
/**初始化一个List*/
public static void init(List list){
if(list!=null){
list.add("aaa");
list.add("ccc");
list.add("bbb");
list.add("eee");
list.add("ddd");
}
}
/**输出List的内容*/
public static void output(List list){
if(list!=null){
//根据列表下标遍历,使用list.size()获取列表中元素的个数
for(int i=0;i<list.size();i++){
System.out.println("\n\t遍历list:"+list.get(i));
}
//或者用迭代器遍历
Iterator it=list.iterator();
Object value=null;
while(it.hasNext()){
value=it.next();
}
}
System.out.println();
}
/**使用ArrayList*/
public static void testArrayList(){
List list=new ArrayList();
init(list);
System.out.println("\n\t使用ArrayList:");
output(list);
}
/**使用Vector*/
public static void testVector(){
List list=new Vector();
init(list);
System.out.println("\n\t使用Vector:");
output(list);
}
/**使用LinkedList*/
public static void testLinkedList(){
List list=new LinkedList();
init(list);
System.out.println("\n\t使用LinkedList");
output(list);
}
public static void main(String[] args){
TestList.testArrayList();
TestList.testVector();
TestList.testLinkedList();
List list=new ArrayList();
init(list);
//List支持元素重复
list.add("aaa");
list.add("bbb");
System.out.println("\n\t插入原aaa,bbb后:");
output(list);
//指定元素出入的位置
list.add(1, "fff");
System.out.println("在下标为1处插入fff后:");
output(list);
List list2=new ArrayList();
list2.add("ggg");
list2.add("hhh");
//将另一个列表中的元素插入到列表中
list.addAll(list2);
System.out.println("添加list2大元素后:");
output(list);
//判断列表是否包含某一元素
//通过元素的equals方法,判断元素是否相等
System.out.println("\n\t list包含aaa?"+list.contains("aaa"));
//判断列表中是否包含了另一个列表中的所有元素
System.out.println("\n\t list包含list2中的所有元素?"+list.containsAll(list2));
//定位一个元素在列表中最先出现的位置
System.out.println("\n\t aaa在list中第一次出现的位置:"+list.indexOf("aaa"));
//定位一个元素在列表中最后出现的位置
System.out.println("\n\t aaa在list中最后一次出现的位置:"+list.lastIndexOf("aaa"));
//更新列表中某个位置的元素值
list.set(2, "xxx");
System.out.println("\n\t更新位置为2的元素为xxx后:");
output(list);
//删除列表中的某个元素,只删除第一次出现的出现的那个
list.remove("aaa");
System.out.println("\n\t删除元素aaa后");
output(list);
//删除列表中指定的位置的元素
list.remove(1);
System.out.println("\n\t删除下标为1的元素后");
output(list);
//删除列表中其他元素,只保留另一个列表中包含的元素
list.retainAll(list2);
System.out.println("\n\t删除list2包含以外的元素后");
output(list);
//删除列表中在另一个列表中也包含了的元素
list.removeAll(list2);
System.out.println("\n\t删除list2包含的元素后:");
output(list);
list.clear();//清空列表
//判断列表是否有数据
System.out.println("\n\t清空List后,list为空吗?"+list.isEmpty());
init(list);
//用列表中的某些元素构造一个新的列表
list2=list.subList(1, 3);
System.out.println("\n\t用list的第1个到第3个元素构造一个新的List:");
output(list2);
//用List特有的遍历器ListIterator遍历列表
//与普通的Iterator不用,它允许从两个方向遍历列表
ListIterator listIt=list.listIterator();
System.out.println("\n\t正向遍历列表");
while(listIt.hasNext()){
System.out.println("\n\t正向遍历列表 :"+listIt.next());
}
System.out.println("\n\t");
System.out.println("\n\t反向遍历列表");
while(listIt.hasPrevious()){
System.out.println("\n\t反向遍历列表:"+listIt.previous());
}
System.out.println();
//也可以使用ListIterator从list中间插入和删除元素
//只能在遍历当前位置进行添加和删除
listIt.add("newadd");
System.out.println("\n\t用ListIterator往列表中添加的元素newadd后:");
output(list);
listIt.next();
listIt.remove();
System.out.println("\n\t用ListIterator删除列表中元素后:");
output(list);
LinkedList linklist=new LinkedList();
init(linklist);
//添加元素到列表表头
linklist.addFirst("fff");
System.out.println("把fff放到列表表头后:");
output(linklist);
//添加元素到表尾
linklist.addLast("eee");
System.out.println("把eee放到列表尾后:");
output(linklist);
System.out.println("\n\t列表头元素:"+linklist.getFirst());
System.out.println("\n\t列表尾元素:"+linklist.getLast());
linklist.removeFirst();//删除列表表头的元素
System.out.println("删除列表头元素后:");
output(linklist);
linklist.removeLast();//删除列表尾的元素
System.out.println("删除列表的尾元素后:");
output(linklist);
Stack myStack=new Stack();
//插入元素,是插入到尾部
myStack.push("aaa");
myStack.push("bbb");
myStack.push("ccc");
myStack.push("ddd");
myStack.push("aaa");
myStack.push("ddd");
System.out.println("\n\t堆栈中的元素师:");
output(myStack);
System.out.println("\n\t堆栈尾部的元素:"+myStack.peek());
System.out.println("\n\t堆栈头部的元素:"+myStack.pop());
}
}
发表评论
-
java Timer实现定时器
2012-05-14 16:16 1296/* * 文件名:MyTask.java */ impo ... -
Applet数字签名
2012-05-08 13:55 2005Applet数字签名 我用applet做了一个文件的上传和下 ... -
得到中文首字母
2012-05-02 16:27 1062package com.pxl.client.ppm.pm; ... -
java比较字符串的匹配度
2012-04-19 14:58 2187引用:http://www.jiaojingkuan.com/ ... -
本地目录拒绝访问
2012-04-26 16:46 1853我用一个文件的上传在本机上什么错也不报,放在服务器上就报一下在 ... -
在JTable中添加下拉和复选框
2012-02-07 16:43 9462package com.sky.swing; import ... -
cookie简单登录实例
2012-01-16 15:26 1523(1)登录页面 <!DOCTYPE html PUBL ... -
TomCat域名绑定与虚拟目录设置
2012-01-16 14:45 1333TomCat域名绑定与虚拟目录设置 Windows下可以通过 ... -
java 运算符
2011-12-11 21:05 1115package com.sky.basic; public ... -
日期的操作
2011-11-17 17:43 1249package com.sky.date; import j ... -
Hashset HashMap和Hashtable 实例
2011-11-12 22:57 1357package com.sky.collection; im ... -
mysql 完全备份
2011-10-20 17:42 1382//mysql 完全备份实现类 package com.sk ... -
eclipse 反编译工具下载
2011-09-21 15:31 1679JadClipse Eclipse Plugin for Ec ... -
启动tomcat 一闪而过
2011-09-21 10:57 916这是因为JAVA_HOME没有配置好 ... -
Http+Servlet 文件上传下载
2011-09-02 13:27 1815//客户端界面package com.sky.client.f ... -
Swing 界面的最大化和最小化
2011-08-23 10:57 16681.设置窗口最大(伪最大化) JFrame frame ... -
Tomcat启动时自动加载Servlet
2011-08-05 14:43 3362[align=center][size=small][/siz ... -
socket 文件上传下载
2011-08-01 15:03 34081.建一个java项目作为客服端 2.建一个wed项目作为服务 ... -
文件输出比较
2011-07-23 08:31 830package com.sky.java.file; imp ... -
SmartUpload上传文件名乱码
2011-07-19 10:43 3810使用jspsmart上传文件很 ...
相关推荐
ArrayList LinkedList Vector 区别 ArrayList、LinkedList、Vector 是 Java 中常用的数据结构实现类,它们都实现了 List 接口,但它们在存储方式、性能、线程安全性等方面有着不同特点。 首先,ArrayList 和 ...
本文将深入探讨ArrayList、Vector和LinkedList三种集合类的特点与使用场景,帮助开发者更好地理解它们之间的差异。 #### 一、ArrayList与Vector **1. 存储方式** - **ArrayList** 和 **Vector** 都采用动态数组的...
ArrayList、Vector、LinkedList 的区别 在 Java 集合框架中,ArrayList、Vector、LinkedList 是...ArrayList、Vector、LinkedList 三个类各有其特点和性能特征,在实际应用中,选择哪个类取决于具体的需求和性能要求。
Java容器集合(equals和hashCode+基础数据结构+ArrayList+Vector和LinkedList) Java容器集合是Java中的一种基础数据结构,用于存储和管理数据。其中,equals和hashCode方法是Java容器集合中两个非常重要的方法,...
在Java编程语言中,ArrayList、Vector和LinkedList是三种常见的动态数组实现,它们都属于集合框架中的List接口。这里我们将深入探讨这三种数据结构的源码,理解它们的内部实现、性能特性和适用场景。 首先,...
ArrayList、LinkedList和Vector是三种常见的动态数组实现,它们各自有特定的特性和使用场景。这里我们将深入探讨这三个类的性能对比,以及它们在不同操作下的表现。 ArrayList是基于动态数组实现的,它提供了随机...
在Java编程语言中,ArrayList、LinkedList和Vector是三种常见的动态数组实现,它们都在java.util包中,用于存储和管理对象的集合。这三个类都实现了List接口,提供了多种操作方法,但它们在内部实现和性能特性上有所...
今天,我们将深入了解 Java 中的集合类别,包括 ArrayList、Vector、LinkedList 和 Map 等。 ArrayList ArrayList 是一种基于数组的集合类别,它可以存储大量的数据。ArrayList 的特点是:它可以动态地增加或减少...
List接口的实现类主要有ArrayList、LinkedList和Vector。 2. **ArrayList** - **实现原理**:ArrayList基于动态数组实现,它提供快速的按索引访问,因为数组支持直接通过索引获取元素。 - **添加和删除**:对于在...
在Java集合框架中,Vector、ArrayList和LinkedList都是List接口的实现,它们提供了有序集合的功能,允许根据位置进行元素的添加、删除和查找。然而,它们在设计和性能上有着显著的区别。 首先,Vector是Java早期...
在Java集合框架中,Vector、ArrayList和LinkedList是三种常见的List接口实现类,它们各自具有不同的特点和适用场景。下面我们将详细对比这三个类的区别。 1. **Vector** - **线程安全**:Vector是线程安全的,因为...
在Java编程语言中,`ArrayList`、`LinkedList`、`Vector`和`Map`是四种常用的集合类,它们各自有着不同的特性和用途。本篇文章将深入探讨这些数据结构及其使用场景。 首先,我们来了解`ArrayList`。`ArrayList`是`...
在Java编程语言中,ArrayList、Vector和LinkedList是三个常见的列表实现,它们都实现了List接口,因此都支持元素的增删改查操作。然而,它们在内部实现和性能特性上存在显著差异。 首先,ArrayList和Vector都是基于...
在选择LinkedList、ArrayList和Vector时,需要考虑以下几个因素: * 是否需要线程安全:如果需要线程安全,选择Vector;否则,选择ArrayList或LinkedList。 * 是否需要快速插入数据:如果需要快速插入数据,选择...
Java基础之集合List-ArrayList、LinkedList、Vector的底层实现和区别ArrayList底层实际是采用数组实现的(并且该数组的类型是
在 Java 集合框架中,`Vector` 和 `ArrayList` 是两种常用的动态数组实现。它们提供了灵活的数据存储方式,能够根据需要自动调整大小。然而,这两种类型的列表在同步性、性能等方面存在差异,这些差异决定了它们适用...
ArrayList和Vector都是基于数组的实现,LinkedList是基于链表的实现。ArrayList和Vector的主要区别在于Vector使用了synchronized方法,线程安全,而ArrayList则没有。 ArrayList是Java中最常用的List实现类,它提供...
- Vector 和 ArrayList 都实现了 List 接口,其中 Vector 是线程安全的,而 ArrayList 不是。ArrayList 在插入和查找性能上通常优于 Vector,因为 Vector 的同步操作会带来额外的性能开销。 - LinkedList 实现了 ...
可以把接口的好处5体现出来,如果ArrayList()不满足需求,直接更换就可以。 接口的好处: 1.程序的耦合度降低 2.更自然的使用多态 3.设计与实现完全分离 4.更容易搭建程序框架 5.更容易更换具体实现 ArrayList: ...
- `LinkedList`虽然在随机访问上不如`ArrayList`和`Vector`,但在插入和删除操作上表现更好,因为它只需要修改相邻元素的链接,时间复杂度为O(1),但遍历速度慢。 5. **使用场景**: - 如果在单线程环境中,且...