java中arrays的用法(Java中arrays)
Arrays和Collections的使用
Arrays:是操作数组的工具类、里面是静态方法
Collections:是集合类的一个工具类/帮助类,其中提供了一系列静态方法,用于对集合中元素进行排序、搜索以及线程安全等各种操作。此类不能实例化,就像一个工具类,服务于Java的Collection框架。
add 添加元素
remov 移除元素
clear 清除集合内的元素
contains 判断集合内是否包含该元素
isEmpty? 判断集合是否为空
size? 获取集合内存储元素个数
addAll 将该集合添加到另一个集合中
removeAll 移除另一个集合中包含此集合的元素
containsAll 判断集合中是否包含给定集合内的所有元素
retainAll 移除集合和指定集合之间不同的元素
toArray 把集合转为数组
fill 把所有值赋值为给定字符
sort 升序排列元素
equals? 比较数组元素是否相等
binarySearch 二分查找
JAVA数组排序Arrays.sort用法(举个个简单的例子附注释本人新手)
public ArraysTest{//定义一个公共类,名字为ArrayTest
public static void main(String [] args){//程序入口方法
int [] array = {1,2,6,45,87,980,54,98};//随便定义一个乱序整型数组
Arrays.sort(array);//调用静态方法Arrays.sort()排序
for(int i = 0;iarray.length;i++)System.out.println(" "+array[i]);//遍历数组并打印出相应的值
}
}
代码是直接写的没有通过编译器运行测试,所以可能有错误。
java中arrays的用法
如果你问的是API的话,要注意,Java中是区分大小写的,不存在arrays这么个类,而是Arrays,
并且全称是java.util.Arrays,其文档可在 参考,搜索Arrays你就找到了,不要惧怕英文,耐心看一下就搞明白了。
如果是问的数组(array),那么:
第一,在Java中,数组是一种专门的类型,它是有序数据的集合,数组中的每个元素的数据类型都是相同的。
第二,对元素的确定是由数组名和它的下标实现的,这是和C/C++中的一样的,比如a[0]代表数组a的第一个元素,a[1]代表数组a的第二个元素,依次类推。
第三,得说说数组的声明方法,Java的数组声明采用与C语言类似, 数组可分为一维数组和多维数组。声明形式为: type arrayName [] [[]...]; 或:type [] [[]...] arrayName; 后边这种方式是Java比较独特的地方, 体现了Java的纯面向对象的特征。
第四,Java数组声明中,不需要指明数组大小,这是因为数组声明并未为数组元素分配存储单元,要为数组元素分配存储单元,必须显示使用new运算符实现,这里就和C/C++有很大不同了。格式是: arrayName[][[]...] = new type [Size1][[Size2]...];
第五,声明数组与为数组分配存储单元两部分,可以合在一起;上面举例的就是和在一起的形式。如果要分开,就是写两成两句:int numbers[]; numbers = new int[10]; 这看起来和C++很相似。
第六,对已经分配了存储空间的数组(由new运算符实现),就可以对数组中的每一个元素引用。下标是放在数组名后面[]中的,通过对下标的操作来引用元素。我们可以赋值给元素,也可以使用元素的值,主要下标是从0开始的。
第七,Java中,对于每一个数组,都有一个属性length,来指明数组的长度,这对于写程序就很方便了。int count[] = new int [10]; 包括count[0] count[1] ... count[9] 那么 count.length = 10
第八,在声明数组时,也可以同时对数组进行初始化。它的一维形式如下:
type arrayName[] = {Value1, Value2, ... , ValueN};
例如:
float myf[] = {1,2,3,4,5,6}
int myint[][]={{1,2,3},{4,5,6}};
//int myint[][]=new myint[2][3];
与C或C++语言不一样,Java对数组元素的下标要进行越界检查,以确保数据的安全。
记住这8条,我相信你对数组就基本都掌握了。
好了,希望对你有所帮助,有问题随时联系我:)
java中Arraylist是干什么的?怎么用?
java中的ArrayList就是传说中的动态数组,用MSDN中的说法,就是Array的复杂版本。
它提供了如下一些好处:动态的增加和减少元素实现了ICollection和IList接口灵活的设置数组的大小 。
ArrayList 的用法:
ArrayList List = new ArrayList(); for( int
i=0;i10;i++ ) //
给数组增加10个Int元素 List.Add(i); //..
程序做一些处理
List.RemoveAt(5);//
将第6个元素移除 for( int i=0;i3;i++ ) //
再增加3个元素
List.Add(i+20); Int32[] values =
(Int32[])List.ToArray(typeof(Int32));//
返回ArrayList包含的数组 。
扩展资料:
Arraylist的定义:
List 接口的大小可变数组的实现,位于API文档的java.util.ArrayListE。
实现了所有可选列表操作,并允许包括 null 在内的所有元素。
除了实现 List 接口外,此类还提供一些方法来操作内部用来存储列表的数组的大小。(此类大致上等同于 Vector 类,除了此类是不同步的。)
size、isEmpty、get、set、iterator 和 listIterator 操作都以固定时间运行。
add 操作以分摊的固定时间 运行,也就是说,添加 n 个元素需要 O(n) 时间。
其他所有操作都以线性时间运行(大体上讲)。
与用于 LinkedList 实现的常数因子相比,此实现的常数因子较低。
每个 ArrayList 实例都有一个容量。该容量是指用来存储列表元素的数组的大小。
它总是至少等于列表的大小。随着向 ArrayList 中不断添加元素,其容量也自动增长。
并未指定增长策略的细节,因为这不只是添加元素会带来分摊固定时间开销那样简单
在添加大量元素前,应用程序可以使用
ensureCapacity 操作来增加 ArrayList
实例的容量。这可以减少递增式再分配的数量。
注意,此实现不是同步的。如果多个线程同时访问一个 ArrayList
实例,而其中至少一个线程从结构上修改了列表,那么它必须 保持外部同步。
(结构上的修改是指任何添加或删除一个或多个元素的操作,或者显式调整底层数组的大小;仅仅设置元素的值不是结构上的修改。)
这一般通过对自然封装该列表的对象进行同步操作来完成。
如果不存在这样的对象,则应该使用 Collections.synchronizedList 方法将该列表“包装”起来。这最好在创建时完成,以防止意外对列表进行不同步的访问:
List list = Collections.synchronizedList(new ArrayList(...));
此类的 iterator 和 listIterator 方法返回的迭代器是快速失败的。
在创建迭代器之后,除非通过迭代器自身的
remove 方法从结构上对列表进行修改,否则在任何时间以任何方式对列表进行修改,迭代器都会抛出
ConcurrentModificationException。
因此,面对并发的修改,迭代器很快就会完全失败,而不是冒着在将来某个不确定时间发生任意不确定行为的风险。
注意,迭代器的快速失败行为无法得到保证。
因为一般来说,不可能对是否出现不同步并发修改做出任何硬性保证。快速失败迭代器会尽最大努力抛出
ConcurrentModificationException。
因此,为提高这类迭代器的正确性而编写一个依赖于此异常的程序是错误的做法:迭代器的快速失败行为应该仅用于检测
bug。
参考资料:百度百科 ------ arraylist