boards

本页内容为未名空间相应帖子的节选和存档,一周内的贴子最多显示50字,超过一周显示500字 访问原贴
Java版 - ArrayList vs Array, StringBuffer vs String, 大侠们给讲讲有
相关主题
如何造Array of Generic Type
a simple question
请问StringBuffer的OutofMemory问题
Java StringBuilder myth debunked
Recusion is fucking magic!!
Java里有没有象cell array一样的东西
ArrayList and Link list
How to check if an element is in an array?
Array 能不能用ArrayList作为它的元素?
这个闭包怎么写?
相关话题的讨论汇总
话题: array话题: arraylist话题: string话题: java
进入Java版参与讨论
1 (共1页)
O*z
发帖数: 109
1
最近在看Horstmann写的那本Core Java自学,好像看了书之后做练习的时候有很多自己
找出的问题。比如帖子题目写的
这两个对比。我在看了Java API之后,觉得ArrayList的methods可能更多,而且还能转
成Array(除了Integer等类似primitive type的不能转意外(???有待考证))
对于String和Stringbuffer我自己的体会是string是immutable,但是StringBuffer是
可以改变其中string的内容,而且看过API之后感觉StringBuffer这个class自带的
methods更多更实用一些。
请高手指点一下。
还有最后一个问题,Java中的每个class(比如string, arrayList)有这么多methods,
大家是一般都能记住,还是只记住几个很常用的,其他不太常用的methods在有需要的
时候去看API的?不好意思,问题好像挺多的,请各位不吝赐教
r******r
发帖数: 700
2
不是高手,Array 和 ArrayList 完全是两码事。
Methods 很多,但是常用的好像不太多。

【在 O*z 的大作中提到】
: 最近在看Horstmann写的那本Core Java自学,好像看了书之后做练习的时候有很多自己
: 找出的问题。比如帖子题目写的
: 这两个对比。我在看了Java API之后,觉得ArrayList的methods可能更多,而且还能转
: 成Array(除了Integer等类似primitive type的不能转意外(???有待考证))
: 对于String和Stringbuffer我自己的体会是string是immutable,但是StringBuffer是
: 可以改变其中string的内容,而且看过API之后感觉StringBuffer这个class自带的
: methods更多更实用一些。
: 请高手指点一下。
: 还有最后一个问题,Java中的每个class(比如string, arrayList)有这么多methods,
: 大家是一般都能记住,还是只记住几个很常用的,其他不太常用的methods在有需要的

t***a
发帖数: 416
3
也不能说完全是两回事, ArrayList内部存储是个Array
可以把arraylist想象成为一个实现了List接口的可以自己增长capacity的array

【在 r******r 的大作中提到】
: 不是高手,Array 和 ArrayList 完全是两码事。
: Methods 很多,但是常用的好像不太多。

r******r
发帖数: 700
4
不知你们说的哪个 Array, 我是说这个:
java.lang.Object
extended by java.lang.reflect.Array
楼主用的是大写的 Array,这个看上去就是个 utility class.

【在 t***a 的大作中提到】
: 也不能说完全是两回事, ArrayList内部存储是个Array
: 可以把arraylist想象成为一个实现了List接口的可以自己增长capacity的array

N***m
发帖数: 4460
5
现用现学。

【在 O*z 的大作中提到】
: 最近在看Horstmann写的那本Core Java自学,好像看了书之后做练习的时候有很多自己
: 找出的问题。比如帖子题目写的
: 这两个对比。我在看了Java API之后,觉得ArrayList的methods可能更多,而且还能转
: 成Array(除了Integer等类似primitive type的不能转意外(???有待考证))
: 对于String和Stringbuffer我自己的体会是string是immutable,但是StringBuffer是
: 可以改变其中string的内容,而且看过API之后感觉StringBuffer这个class自带的
: methods更多更实用一些。
: 请高手指点一下。
: 还有最后一个问题,Java中的每个class(比如string, arrayList)有这么多methods,
: 大家是一般都能记住,还是只记住几个很常用的,其他不太常用的methods在有需要的

p*****2
发帖数: 21240
6
java的method还真不多,很多该有的没有。
z*******3
发帖数: 13709
7
ArrayList 是 List,记List的方法
Array这个类我好久没见到了,上一次见到是Array.asList()
StringBuffer理论上效率要高于String
不过我也没有见过多少人用它
w**z
发帖数: 8232
8
现在都用stringBuilder

【在 z*******3 的大作中提到】
: ArrayList 是 List,记List的方法
: Array这个类我好久没见到了,上一次见到是Array.asList()
: StringBuffer理论上效率要高于String
: 不过我也没有见过多少人用它

N***m
发帖数: 4460
9
not thread safe, so several times faster.
btw, i denote both of them as sb when declare such a variable.

【在 w**z 的大作中提到】
: 现在都用stringBuilder
g*****g
发帖数: 34805
10
ArrayList is backed by an array, in case you need high performance, a good
initialization parameter matters.
Array is only for reflection, you are probably talking about Arrays.

【在 z*******3 的大作中提到】
: ArrayList 是 List,记List的方法
: Array这个类我好久没见到了,上一次见到是Array.asList()
: StringBuffer理论上效率要高于String
: 不过我也没有见过多少人用它

相关主题
Java StringBuilder myth debunked
Recusion is fucking magic!!
Java里有没有象cell array一样的东西
ArrayList and Link list
进入Java版参与讨论
p*****2
发帖数: 21240
11

嗯。都是sb。我还没遇到StringBuffer perf差的要用StringBuilder的时候,不知道差
别有多大。

【在 N***m 的大作中提到】
: not thread safe, so several times faster.
: btw, i denote both of them as sb when declare such a variable.

F*******X
发帖数: 143
12
我也在自学中,看了数本书都提到 ArrayList, 但没有看到 Array,我想这 Array 应
该用的不多。关于 StringBuffer 和 String 应该是看你怎么用吧!关于 methods,我
也有相同的感觉,太多太难记,但有些书会说只有某些 class 的 methods 是常用的,
记着就好,其他的要用的就自己看 doc, 不知道实际工作是怎样的状况?

【在 O*z 的大作中提到】
: 最近在看Horstmann写的那本Core Java自学,好像看了书之后做练习的时候有很多自己
: 找出的问题。比如帖子题目写的
: 这两个对比。我在看了Java API之后,觉得ArrayList的methods可能更多,而且还能转
: 成Array(除了Integer等类似primitive type的不能转意外(???有待考证))
: 对于String和Stringbuffer我自己的体会是string是immutable,但是StringBuffer是
: 可以改变其中string的内容,而且看过API之后感觉StringBuffer这个class自带的
: methods更多更实用一些。
: 请高手指点一下。
: 还有最后一个问题,Java中的每个class(比如string, arrayList)有这么多methods,
: 大家是一般都能记住,还是只记住几个很常用的,其他不太常用的methods在有需要的

N***m
发帖数: 4460
13
in most case, that is true since sb.append is about ~<100 ns.

【在 p*****2 的大作中提到】
:
: 嗯。都是sb。我还没遇到StringBuffer perf差的要用StringBuilder的时候,不知道差
: 别有多大。

g*****g
发帖数: 34805
14
Just use a StringBuilder until you think you shouldn't. Most of the time it'
s a local variable and you don't need to worry about race condition.

【在 p*****2 的大作中提到】
:
: 嗯。都是sb。我还没遇到StringBuffer perf差的要用StringBuilder的时候,不知道差
: 别有多大。

p*****2
发帖数: 21240
15

我觉得array应该用的也不少吧。

【在 F*******X 的大作中提到】
: 我也在自学中,看了数本书都提到 ArrayList, 但没有看到 Array,我想这 Array 应
: 该用的不多。关于 StringBuffer 和 String 应该是看你怎么用吧!关于 methods,我
: 也有相同的感觉,太多太难记,但有些书会说只有某些 class 的 methods 是常用的,
: 记着就好,其他的要用的就自己看 doc, 不知道实际工作是怎样的状况?

p*****2
发帖数: 21240
16

it'
应该这样。只是StringBuilder出来的晚,因此很多地方还是StringBuffer,比如CC150
,我开始就习惯用了,后来也没发现有什么问题。不过是应该首选StringBuilder。回
头注意一下。

【在 g*****g 的大作中提到】
: Just use a StringBuilder until you think you shouldn't. Most of the time it'
: s a local variable and you don't need to worry about race condition.

F*******X
发帖数: 143
17
我是说 Array class 很少在书里看到。 很多初级 Java 书都先教 ArrayList 然后再
讲解 Generic

【在 p*****2 的大作中提到】
:
: it'
: 应该这样。只是StringBuilder出来的晚,因此很多地方还是StringBuffer,比如CC150
: ,我开始就习惯用了,后来也没发现有什么问题。不过是应该首选StringBuilder。回
: 头注意一下。

p*****2
发帖数: 21240
18

java Array class到底是啥东西呢?

【在 F*******X 的大作中提到】
: 我是说 Array class 很少在书里看到。 很多初级 Java 书都先教 ArrayList 然后再
: 讲解 Generic

t***a
发帖数: 416
19
可以干些猥琐事情。。。比如说动态创建一个T[]

【在 p*****2 的大作中提到】
:
: java Array class到底是啥东西呢?

p*****2
发帖数: 21240
20

给个JDK的link?

【在 t***a 的大作中提到】
: 可以干些猥琐事情。。。比如说动态创建一个T[]
相关主题
How to check if an element is in an array?
Array 能不能用ArrayList作为它的元素?
这个闭包怎么写?
今天碰到一个面试题
进入Java版参与讨论
p*****2
发帖数: 21240
21
找到了。reflect里边的呀。那应该用的不多。
t***a
发帖数: 416
22
http://docs.oracle.com/javase/7/docs/api/java/lang/reflect/Arra

【在 p*****2 的大作中提到】
: 找到了。reflect里边的呀。那应该用的不多。
t***a
发帖数: 416
23
看见过有人用它来work around java不能new T[]的问题。。。。
其实很蛋疼。。。多数情况没必要的

【在 p*****2 的大作中提到】
: 找到了。reflect里边的呀。那应该用的不多。
z*******3
发帖数: 13709
24
这个类,在google里面输入Array Java
前几个搜索记录居然都是Arrays的
可想而知了

【在 t***a 的大作中提到】
: 可以干些猥琐事情。。。比如说动态创建一个T[]
z*******3
发帖数: 13709
25
1.5关于concurrency的优化
跟stringbuffer的区别类似concurrenthashmap和hashmap的区别
一个线程安全一个不安全

CC150

【在 p*****2 的大作中提到】
: 找到了。reflect里边的呀。那应该用的不多。
t***a
发帖数: 416
26
一般stringbuffer和stringbuilder干的事都是在一个local method里就搞定了
如果真是多线程一起搞一个stringbuffer,这设计也太惊世骇俗了点

【在 z*******3 的大作中提到】
: 1.5关于concurrency的优化
: 跟stringbuffer的区别类似concurrenthashmap和hashmap的区别
: 一个线程安全一个不安全
:
: CC150

N***m
发帖数: 4460
27
stringbuffer谈不上惊世骇俗吧,比如远程语音通话识别,
两端七嘴八舌的,最后都用一个stringbuffer写道服务器端。
当然自己写也费不了多大力气

【在 t***a 的大作中提到】
: 一般stringbuffer和stringbuilder干的事都是在一个local method里就搞定了
: 如果真是多线程一起搞一个stringbuffer,这设计也太惊世骇俗了点

x****d
发帖数: 1766
28
stringbuffer is not extreme tread safe, you have to be careful
F****n
发帖数: 3271
29
暴露了没怎么实际写过JAVA

【在 z*******3 的大作中提到】
: ArrayList 是 List,记List的方法
: Array这个类我好久没见到了,上一次见到是Array.asList()
: StringBuffer理论上效率要高于String
: 不过我也没有见过多少人用它

v*****r
发帖数: 2325
30
StringBuffer/Builder is more efficient for String concat. But latest Java
compiler is able to optimize StringA + StringB, so StringBuilder is rarely
used.
Mutable object can not be used as HashMap key, which makes use of mutable
String even more limited in reality.

【在 O*z 的大作中提到】
: 最近在看Horstmann写的那本Core Java自学,好像看了书之后做练习的时候有很多自己
: 找出的问题。比如帖子题目写的
: 这两个对比。我在看了Java API之后,觉得ArrayList的methods可能更多,而且还能转
: 成Array(除了Integer等类似primitive type的不能转意外(???有待考证))
: 对于String和Stringbuffer我自己的体会是string是immutable,但是StringBuffer是
: 可以改变其中string的内容,而且看过API之后感觉StringBuffer这个class自带的
: methods更多更实用一些。
: 请高手指点一下。
: 还有最后一个问题,Java中的每个class(比如string, arrayList)有这么多methods,
: 大家是一般都能记住,还是只记住几个很常用的,其他不太常用的methods在有需要的

1 (共1页)
进入Java版参与讨论
相关主题
这个闭包怎么写?
今天碰到一个面试题
问一个Java的问题,关于create generic array
请问一个有关选择数据结构的问题
再请教一个 编译错误
再请教一个lucene的问题
Java 问题,请教如何找出一个array里的duplicate segments? (转载)
求一本java和算法的书
请推荐一本Java经典教程
Who have electronic version of Core Java 2, Volume I: Fundamentals (Latest Edition)
相关话题的讨论汇总
话题: array话题: arraylist话题: string话题: java