- 浏览: 1183512 次
- 性别:
- 来自: 北京
文章分类
- 全部博客 (350)
- Ajax研究 (2)
- javascript (22)
- struts (15)
- hibernate (12)
- spring (8)
- 我的生活 (28)
- jsp (2)
- 我的随笔 (84)
- 脑筋急转弯 (1)
- struts2 (2)
- ibatis (1)
- groovy (1)
- json (4)
- flex (20)
- Html Css (5)
- lucene (11)
- solr研究 (2)
- nutch (25)
- ExtJs (3)
- linux (6)
- 正则表达式 (2)
- xml (1)
- jetty (0)
- 多线程 (1)
- hadoop (40)
- mapreduce (5)
- webservice (2)
- 云计算 (8)
- 创业计划 (1)
- android (8)
- jvm内存研究 (1)
- 新闻 (2)
- JPA (1)
- 搜索技术研究 (2)
- perl (1)
- awk (1)
- hive (7)
- jvm (1)
最新评论
-
pandaball:
支持一下,心如大海
做有气质的男人 -
recall992:
山东分公司的风格[color=brown]岁的法国电视[/co ...
solr是如何存储索引的 -
zhangsasa:
-services "services-config ...
flex中endpoint的作用是什么? -
来利强:
非常感谢
java使用json所需要的几个包 -
zhanglian520:
有参考价值。
hadoop部署错误之一:java.lang.IllegalArgumentException: Wrong FS
【1】:java中util下集合的总结:
java.util包有:
Collection,List,ArrayList,Set,LinkedList,HashSet,TreeSet,Iterator,Map,HashMap,Hasntable,SortedMap,Comparator,Arrays,Enumeration,Vector,Stack,Properties,StringTokenizer,BitSet,Date,Calendar,Locale,Random,Observer,Obserable.
[1]:
Collection是List、Set的父接口
List --- 三个实现类 ArrayList、LinkedList、Vector;
Set --- 一个实现类 HashSet;
1、List:
List:有序列表,允许存放重复的元素;
实现类:
ArrayList:数组实现,查询快,增删慢,线程不安全,轻量级;下标也是从0开始;
LinkedList:链表实现,增删快,查询慢
Vector:数组实现,线程安全,重量级
2.Set:
无序集合,不允许存放重复的元素;
实现类 HashSet、hashCode返回相同的整数;哈希表;
子接口SortedSet:对Set排序实现类 :TreeSet:二叉树实现的;
Iterator:接口,迭代器;java.util;hasNext();next();remove();
Iterable:可迭代的的访问的 ;java.lang;实现了可迭代的接口就可以用迭代的方式访问;
只需实现 iterator();方法即可;Iterator iterator();
只有实现了Iterable接口的才能用第三种;能用第二种的也一定能用第三种;
ArrayList:自动扩容,是数组照搬过来的;
3.Map
HashMap:键值对,key不能重复,但是value可以重复;key的实现就是HashSet;value对应着放;
HashSet 的后台有一个HashMap;初始化后台容量;只不过生成一个HashSet的话,系统
只提供key的访问;
如果有两个Key重复,那么会覆盖之前的;
Hashtable:线程安全的
Properties:java.util.Properties; key和value都是String类型,用来读配置文件;
HashMap与Hashtable区别:
HashMap线程不安全的,允许null作为key或value;
Hashtable线程安全的,不允许null作为key或value;
TreeMap: 对key排好序的Map; key 就是TreeSet, value对应每个key;
key要实现Comparable接口或TreeMap有自己的构造器;
HashSet:remove(Object o)的原则看这个对象O的Hashcode和equals是否相等,并不是看是不是一个对象;
定义一个Map; key是课程名称,value是Integer表示选课人数;
map.put(cou,map.get(cou)+new Integer(1));
四、Hashtable、Properties
1,Hashtable:实现了Map接口,此类实现一个哈希表,作用和HashMap相同。任何非 null 对象都可以用作键或值。
为了成功地在哈希表中存储和获取对象,用作键的对象必须实现 hashCode 方法和 equals 方法。
2,Properties:继承自Hashtable,比 Hashtable 更严格 属性列表中每个键及其对应值都是一个字符串。
常用方法 String getProperty(String?key) 和 setProperty(String key,String value);
用法:我在C盘下建了一个名为 yy.dat 的文件,文件的内容为:
name=hehe
password=12345
执行以下程序,输出 hehe,可见用 Properties 可以很方便的解析配置文件
Properties p = new Properties();
p.load(new FileInputStream("C:\\yy.dat"));
System.out.println(p.getProperty("name"))
五、两个工具类 Arrays 和 Collections
1.Arrays、此类包含用来操作数组(比如排序和搜索)的各种方法。此类还包含一个允许将数组作为列表来查看的静态工厂
2.Collections、主要提供了在 collection 上进行操作的静态方法
六、遗留的几个类
1.Hashtable, 作用和HashMap相同,不过它是线程安全的,如果不需要线程安全,应该使用HashMap
2.Enumeration, 遗留集合使用枚举接口来遍历元素,它有两个方法, hasMoreElements和nextElement,用法类似
Iterator。
3.Stack,继承自Vector,实现了栈的功能,提供了push()方法押栈 和pop()方法出栈。
4.BitSet, 位集。如果需要高效率的存储一个位序列,例如一个标志序列,请使用位集。它可以对各个位进行
读取 get(i)
设置 set(i)
清楚 clear(i)
【2】:字符串处理的几种方式对比(String,StringBuffer,StringBuilder)
String、StringBuffer、StringBuilder区别:
[1]:String是不可改变的对象。因此每一次对String类型操作的时候,其实等同于生成了一个新的对象。然后将指针指向新的String对象。
[2]:StringBuffer是线程安全的可变字符序列,并且还是同步的。
[3]:StringBuilder的效率和速度要比StingBuffer还要快,所以一般建议使用StringBuilder.
发表评论
-
认真阅读hadoop源码
2012-11-01 16:00 1780从新复习hadoop,认真阅读hadoop源码,有兴趣的朋友可 ... -
铁道部售票网站怎么啦?
2012-01-10 10:25 1878乐淘CTO李勇:库存同步是难点 我的判断,除了 ... -
eclipse启动报错jvm terminated. Exit code=1
2011-10-11 08:55 1224转载链接: http://wxmfly.itey ... -
ireport中获取当前时间
2011-08-28 11:53 5169一。 iReport 中获取系统当前时间 1,选择Tex ... -
ireport引java bean database
2011-08-27 10:38 1745今天帮一同事调试程序,他们的报表工具用的是ireport4.0 ... -
谈谈爬虫的设计
2011-08-07 22:27 2317网络蜘蛛现在开源的已 ... -
为了养家,只能这样!
2011-07-03 16:22 16还是一直在玩数据,hadoop平台(自己一手搭建),使用爬虫n ... -
陆续整理数据方面的资料
2011-05-07 08:58 634差不多有一个多月没写东西了,最近比较忙!还是研究数据一些东西。 ... -
挣钱养家
2011-04-14 22:19 1163如果各位有私活的话忙不过来,可以通过QQ(282215036) ... -
使用perl连接mysql数据库
2011-04-05 22:21 1440用Perl DBI连接MySQL数据库 Perl中一个最酷的 ... -
图像数字识别技术
2011-04-01 17:32 5940最近在研究图像数字识别技术,对于一些简单没有干扰的图片,可以读 ... -
100个可供选择的搜索引擎
2011-03-02 13:11 1503本文根据 readwriteweb ... -
对于处理问题的一点想法
2011-02-23 08:26 1123昨天快下班的时候,遇到一个建立索引的问题,因为快下班了,我没有 ... -
温故而知新
2011-02-20 16:44 1188又回过头来复习以前的知识了?在家里实在无聊!把之前学习过的东西 ... -
加钱也得买票回家过年
2011-01-25 08:44 982昨天从黄牛党手上拿了一张高价票。加了100.哎!这年头在外面忙 ... -
Eclipse3.6 Helios SVN插件–Subversive
2011-01-12 11:42 3653刚在Google Code上发布了一个Open Project ... -
博客有时候来不及更新,希望大家见谅!
2011-01-10 17:42 1011刚到新公司,可能开始忙了,博客有时候来不及更新,希望大家见谅! ... -
新公司入职第一天
2011-01-10 11:47 1326今天是我去新公司入职的第一天。感觉一切都是新的,从头开始!加油 ... -
java中各种算法的实现
2010-12-30 13:01 1162选择排序算法的JAVA实现 viewplainprin ... -
java基础知识复习
2010-12-30 13:00 1018学习Java一 配置环境变量 学习Java二 开发第一 ...
相关推荐
Java API 学习总结 Java 是一种广泛使用的面向对象的编程语言,它的API(Application Programming Interface)提供了大量的类和接口,使得开发者能够高效地构建各种应用程序。本文将重点关注Java的基础知识,特别是...
### Java OOP 总结与理解 #### 一、面向对象基本概念 在 Java 面向对象(Object-Oriented Programming, OOP)编程中,我们主要关注以下几个核心概念:类(Class)、对象(Object)、封装(Encapsulation)、继承...
32. **编码转换,怎样实现将GB2312编码的字符串转换为ISO-8859-1编码的字符串** - 使用`new String(byte[], charsetName)`构造函数。 33. **Strings=newString("xyz");创建了几个StringObject?** - 创建了一个`...
线程有几种状态:新建、就绪、运行、阻塞和终止。 ##### 5. 控制线程 可以使用线程提供的方法来控制线程的行为,如start()、stop()、join()等。 ##### 6. 多线程安全问题 多线程环境下,多个线程同时访问共享...
StringBuffer和StringBuilder都是可变的,适合在多线程环境下进行字符串拼接,StringBuilder是线程不安全的,效率更高。 5. Hashtable与HashMap的区别:Hashtable是线程安全的,不允许null键和null值;HashMap非...
根据上述内容,我们可以看出文档中涉及的知识点主要集中在Java的基础知识,包括数据类型转换、异常处理机制以及Collection框架的基本使用方法。对于学习Java语言的开发者来说,这些知识点是非常重要的基础内容,它们...
Java中对象的状态可以分为以下几种: - **可运行状态(Runnable)**:表示对象可以被正常运行。 - **不可运行状态(Not Runnable)**:表示对象由于某些原因暂时无法运行,例如等待锁的释放。 - **终止状态...
字符串对象在Java中是不可变的,这导致字符串操作会频繁产生新的字符串对象。例如: ```java StringBuffer sb = new StringBuffer("hello"); sb = null; ``` 在这个例子中,当`sb`被设置为`null`后,原来的`...
* 字符串:Java 语言中,字符串可以用于存储一组字符。 5. Java 集合类 Java 集合类可以用于存储和操作大量数据,包括 ArrayList、LinkedList、HashSet 等。 * ArrayList:ArrayList 是一种可变长的数组,能够...
该题目考察了 Java 中的字符串处理和编码,要求使用 Java 语言编写一个截取字符串的函数。 16. Java 编程, 打印昨天的当前时刻: 该题目考察了 Java 语言的日期和时间处理,要求使用 Java 语言打印昨天的当前时刻...
- **池**:如果"xyz"不在字符串常量池中,则会在池中创建一个新的引用。 #### 27. Math.round(11.5)等于多少?Math.round(-11.5)等于多少? - **Math.round(11.5)**:等于12。 - **Math.round(-11.5)**:等于-11。 ...
最后,文档中还提到了Java中数据查询的几种方法,包括SQL查询、HQL查询等。SQL查询是直接使用数据库提供的SQL语言进行数据查询;而HQL(Hibernate Query Language)是Hibernate提供的面向对象的查询语言。 综上所述...
如果你对字符串中的内容经常进行操作,特别是内容要修改时,那么使用 STRINGBUFFER,如果最后需要 STRING,那么使用 STRINGBUFFER 的 toString() 方法。 JSP 方面: 1. JSP 中的内置对象。 JSP 中有 9 种内置对象...
4.6 Date类和Calendar类:Java中处理日期和时间的基本类。 4.7 SimpleDateFormat类和DateFormat类:提供日期时间格式化的功能。 4.8 包装类:Java提供了针对八种基本数据类型的包装类,例如Integer、Long等。 4.9 ...
7. **`boolean equalsIgnoreCase(String anotherString)`**:比较当前字符串与另一个字符串是否相等,忽略大小写差异。 8. **`boolean contains(CharSequence s)`**:检查当前字符串是否包含指定的字符序列。 9. *...
对于Java中的字符串处理,经常被问到的问题包括String类的特性、如何使用String类的方法进行字符串操作、以及String与其他类如StringBuilder、StringBuffer的区别。在Java中,字符串是不可变的,所以每次对字符串的...
3. Java核心API的使用:Java提供了丰富的核心类库,这本书会介绍如何使用Java的核心API来处理字符串、进行数学运算、管理日期和时间等。此外,书中还会介绍集合框架(Collections Framework)的使用,例如List、Set...
Java中的`javajson`包,就是为了让Java开发者能够方便地处理JSON数据,将Java对象转换为JSON字符串,或者将JSON字符串解析为Java对象。 在给定的压缩包文件中,我们看到几个关键的库文件,这些是`javajson`包正常...