- 浏览: 23078 次
- 性别:
- 来自: 北京
最新评论
文章列表
List,Set是,Map不是
List 以特定次序来持有元素,可有重复元素。Set 无法拥有重复元素,内部排序。Map 保存key-value值,value可多值。
ArrayList和Vector都是使用数组方式存储数据,此数组元素数大于实际存储的数据以便增加和插入元素,它们都允许直接按序号索引元素,但是插入元素要涉及数组元素移动等内存操作,所以索引数据快而插入数据慢,Vector由于使用了synchronized方法(线程安全),通常性能上较ArrayList差,而LinkedList使用双向链表实现存储,按序号索引数据需要进行前向或后向遍历,但是插入数据时只需要记录本项的前后项即可,所以插入速度较快。
LinkedList也是线程不安全的,LinkedList提供了一些方法,使得LinkedList可以被当作堆栈和队列来使用。
Vector newVector =new Vector();
For (inti=0;i<vector.size();i++)
{
Object obj =vector.get(i);
if(!newVector.contains(obj);
newVector.add(obj);
}
还有一种简单的方式:HashSet set = new HashSet(vector);
Set里的元素是不能重复的,元素重复与否是使用equals()方法进行判断的。
equals()和==方法决定引用值是否指向同一对象equals()在类中被覆盖,为的是当两个分离的对象的内容和类型相配的话,返回真值。
对。
如果对象要保存在HashSet或HashMap中,它们的equals相等,那么,它们的hashcode值就必须相等。
如果不是要保存在HashSet或HashMap,则与hashcode没有什么关系了,这时候hashcode不等是可以的,例如arrayList存储的对象就不用实现hashcode,当然,我们没有理由不实现,通常都会去实现的。
public class Test{
public static void main(String[] args){
short s1=1;
s1+=1;
System.out.println("s1="+s1);
short s2=1;
s2=+1;
System.out.println("s2="+s2);
short s3=1;
...
一、常用JDBC API
在java.sql包中包含体现JDBC基本功能的若干接口和类:
1.Driver 接口:代表驱动程序
2.DriverManager 类:驱动程序管理员
3.Connection 接口:代表数据库连接
4.Statement 、PreparedStatement、CallableStatement 接口:代表数据库操作对象
5.ResultSet 接口:代表结果集
6.DatabaseMetadata、ResultSetMetadata接口:代表元数据
7.Types 类:代表JDBC类型
++++++++++++++++++++++ ...
01.package SecondStep;
02.
03.import java.sql.*;
04.
05./**
06. *
07. * 处理事务transaction 同时执行了批处理 addBatch 和
08. *
09. */
10.public class GeDemo6 {
11. public static void main(String[] args) {
12. Connection connection = null;
13. Statement statement = null;
14 ...
HashMap是Hashtable的轻量级实现(非线程安全的实现),他们都完成了Map接口,主要区别在于HashMap允许空(null)键值(key),由于非线程安全,在只有一个线程访问的情况下,效率要高于Hashtable。
这两个类都实现了List接口,List接口继承了Collection接口,他们都是有序集合.即存储在这两个集合中的元素的位置都是由顺序的,相当于一种动态的数组,我们以后可以按位置索引号来取出某个元素,并且其中的数据是允许重复的.这是HashSet之类的集合的最大不同处,HashSet之类的集合不可以按索引号去检索其中的元素.也不允许有重复的元素.本题目本与hashset没有任何关系,但为了说清楚ArrayList和Vector的功能,我们使用对比方式,有利于说明问题.
接着才说ArrayList与Vector的区别,主要包括两个方面:
(1)同步性
Vector是线程安全的,也就是说它的方 ...
Comparable/comparator
package lianxii;
public class ReferenceType {
private int day = 12;
private int month = 6;
private int year = 1900;
public ReferenceType(int d, int m, int y) {
year = y;
month = m;
day = d;
}
public void display() {
System.out.println(y ...
Collection是集合框架,集合框架(Collection Framework)泛指java.util包的若干个类和接口.如Collection,List,ArrayList,LinkedList,Vector(自动增长数组),HashSet,HashMap等。
集合框架中的类主要封装的是典型的数据结构,如动态数组,链表,堆栈,集合,哈希表等。
集合框架类似编程中经常用到的工具类,使得编码这专注于业务层的实现,不需要从底层实现相关细节—“数据结构的封装”和”典型算法的实现”。
Collection是集合类的上级接口,继承与他的接口主要有set和list。
Collections是针对 ...
package lianxii;
class OneT {
private final int a = 1;
public int geta(int b) {//int b为形参
return a * b;//跟返回也有关
}
public static void main(String[] args) {
int ii = 2;
OneT p = new OneT();
int pp = p.geta(ii);//ii为实参
System.out.println(pp); ...