导航:首页 > 编程语言 > javastring动态数组

javastring动态数组

发布时间:2022-08-27 20:24:16

java中动态数组是怎么回事

动态数组我学习过,在java中的动态数组其实不是真正的动态,是通过数组的拷贝实现的。

importjava.util.Arrays;

/**

*

*@authorfengcl

*email:[email protected]

*2011-10-10

*/

publicclassDinamyArrayDemo{

publicstaticvoidmain(String[]args){

/*

*定义一个int类型的数组,其长度为0

**/

int[]num={};

for(inti=0;i<10;i++){

/*数组每次动态的增加一个长度,

*并给数组赋值

**/

num=Arrays.Of(num,num.length+1);

num[num.length-1]=i;

/*打印出数组的各个元素*/

System.out.println(Arrays.toString(num));

}

/*P.S.:其实动态数组并不是真正的动态,只是通过数组的拷贝来实现

*动态的增加。这是我培训的时候,老师讲的一个小案例

**/

}

}

希望对你有用^_^

Ⅱ java String动态数组覆盖,并按照某数组规定来排序,返回String。

你把数组按照=分割不就行了,两个数组分别存前边的名称和后边的值,当然也可以用map
我写的这个没在eclipse里写,可能会有语法错误,你看看思路就行了……
Array<String> arr = new Array<String>();
Array<Integer> arr2 = new Array<Integer>();
boolean flag = false;
for (int i=0;i<str.length;i++){
flag = false;
String a = str[i].split("=")[0];
String b = str[i].split("=")[1];
for(int j=0;j<arr.length;j++){
if(arr[j].equal(a)){
arr2[j]+=Integer.valueOf(b);
flag = true;
}
}
if(!flag){
arr.push(str[i].split("=")[0]);
arr2.push(Integer.valueOf(b));
}
}

Ⅲ JAVA如何实现动态数组

动态数组用ArrayList 它的底层就是动态数组

ArrayList

ArrayList 集合的存取方式和数组操作很类似,可以按照index顺序来存取集合中的元素,但是还是建议采用更通用的迭代器来进行ArrayList的遍历。
ArrayList与数组最大的区别就是它是可变数组,在初始化ArrayList集合的时候,可以指定一个初始化容量(Capacity 集合中可容纳元素的数量),不指定的时候,系统会指定一个默认的容量值。当我们向ArrayList集合添加元素的时候,实际上是存放元素数量(size)在不断的增加,当容量不变,当数量增长到初始容量大小的时候,因为没有空间导致元素添加阻塞,这时候该集合的容量会按照一定增长策略自动增长,容量增长后,可以继续向集合中添加元素。可变数组是ArrayList的优点,但从另外一个角度考虑,容量的增长是需要付出额外的代价的,所以在性能上有所损失。性能问题的一种解决思路是我们可以在向集合添加大量元素之前,根据欲添加元素的数量,预先扩充容量,采用的是ensureCapacity方法。
ArrayList是一种线性表,在内存中是连续存储的,适合于元素的随机存取。添加和删除操作是需要依据添加的位置来定,如果在ArrayList最后元素后面添加和删除元素,在性能方面还算好,但是如果是在ArrayList中间添加和删除元素的话,代价就会很大。因为,ArrayList需要维护整个集合元素的顺序存储,所以需要处理欲添加和删除元素位置之后的所有元素。
ArrayList的实现不是线程安全的。也就是说,如果有多个线程同时操作ArrayList集合对象,而且其中至少有一个线程的操作涉及到集合对象中元素的修改(添加和删除),则该线程内对集合对象操作的方法需要实现同步。这也是ArrayList与Vector的主要区别。在新的集合框架的实现上,基于性能的考虑,大部分的集合设计都是线程不安全的。如果有同步需求,在用户自己的实现中可以实现同步,实现的方法有2种:
1、在操作集合对象的方法上使用synchronized关键字。
2、如果方法不可修改,则可在定义集合的时候,定义同步化的集合对象(采用Collections工具类的方法),类似:
List list = Collection.synchronizedList(new ArrayList(.....));
(此处深入说明下,在采用Iterator遍历集合的时候,如果有其他线程修改了集合(添加或删除操作),那么Iterator的处理会中止并抛出异常,这是集合处理中的Fail-safe特性)
ArrayList提供的方法中,除了Collection和List的公用方法外,又加入了一些新的方法。

ArrayList(int initialCapacity) 构造器方法增加了集合初始化的最小容量
Void ensureCapacity(int minCapacity) 预扩充ArrayList的容量
Void trimToSize() 把集合的Capacity缩小到Size的大小

下面做一个ArrayList小例子:

import java.util.ArrayList;
import java.util.Collection;
import java.util.Iterator;
import java.util.List;
import java.util.ListIterator;

/**
* @功能:ArrayList的应用小例子
* @author JackRui
* @时间:2009.03.31
*/
public class ArrayListDemo {

public static void main(String[] args) {
//利用ArrayList本身的特性
System.out.println("利用ArrayList本身的特性");
ArrayList list = new ArrayList();
list.add("aaa");
list.add("bbb");
list.add("ccc");
list.remove("bbb");
list.add("ddd");
for (int i=0,lsize=list.size();i<lsize;i++){
System.out.println(list.get(i));
}
//利用Iterator遍历
System.out.println("利用Iterator遍历");
Collection clist = new ArrayList();
clist.addAll(list);//添加元素不能采用Iterator接口
Iterator iter = clist.iterator();
while(iter.hasNext()){
String s = (String)iter.next();
if(s.equals("ddd")){
iter.remove();//可以通过Iterator接口对元素进行删除
}else{
System.out.println(s);
}
}
//利用ListIterator遍历
System.out.println("利用ListIterator遍历");
List list2 = new ArrayList();
ListIterator lit = list2.listIterator();
if(!lit.hasNext()){
lit.add("haha");//可以通过ListIterator接口进行集合元素的添加
lit.previous();
System.out.println(lit.next());
}

}

}
运行结果如下:
利用ArrayList本身的特性
aaa
ccc
ddd
利用Iterator遍历
aaa
ccc
利用ListIterator遍历
haha

解析:3种方法中,第一种方法不通用,不建议使用。第2种方法最通用,但仅支持单向遍历,而且对象的添加需要分开实现。第3种方法可以双向遍历,而且可以直接使用ListIterator接口来添加对象。

参考资料:http://fusanjiao.javaeye.com/blog/639963
希望能帮到您,O(∩_∩)O谢谢!

Ⅳ Java动态二维数组 怎么动态定义

有两种实现方法:

  1. 可以用List数组来实现

  2. 可以用map来实现

方法一:用map来实现

比如要创建一个1行、3列的数组,实现方法如下:

public static void main(String[] args) throws CloneNotSupportedException {
Map<Double, List<Double>> myMap = create(1, 3);
}

public static Map<Double, List<Double>> create(double row, double column) {
Map<Double, List<Double>> doubleMap = new HashMap<Double, List<Double>>();

for (double x = 0; x < row; x++) {
for (double y = 0; y < column; y++) {
doubleMap.put(x, new ArrayList<Double>());
}
}
return doubleMap;
}

方法二:

可以用List数组来实现

publicstaticvoidmain(Stringargs[]){

//list作为动态二维数组

List<List<String>>list=newArrayList();

List<String>a1=newArrayList<String>();

List<String>a2=newArrayList<String>();

List<String>a3=newArrayList<String>();

list.add(a1);

list.add(a2);

list.add(a3);

a1.add("string1ina1");

a1.add("string2ina1");

a2.add("string1ina2");

a3.add("string1ina3");

a3.add("string2ina3");

for(inti=0;i<list.size();++i){

for(intj=0;j<list.get(i).size();++j)

System.out.println(list.get(i).get(j));

}

}

Ⅳ java中如何创建动态数组

Java动态数组是一种可以任意伸缩数组长度的对象,在Java中比较常用的是ArrayList,ArrayList是javaAPI中自带的java.util.ArrayList。下面介绍一下ArrayList作为Java动态数组的创建以及用法。
Java动态数组是一种可以任意伸缩数组长度的对象,在Java中比较常用的是ArrayList,ArrayList是javaAPI中自带的java.util.ArrayList。下面介绍一下ArrayList作为Java动态数组的用法。
1.语法:add()是添加一个新的元素,

remove()删除一个元素,
size()获得ArrayList的长度。
ArrayList的下标是从0开始。
2.示例代码
import java.util.ArrayList;
public class JavaArrayList {

public static void main(String[]args)
{

//Java动态数组的初始化

ArrayList al=new
ArrayList();

//向Java动态数组中添加数据

al.add("a");

al.add("b");

al.add("c");

//输出Java动态数组

for(int i=0;i<al.size();i++)
{

String
alEach=(String)al.get(i);

System.out.println(alEach);

}

//删除数组中的某个元素,删除第二个元素

al.remove(1);

//修改Java动态数组,把新的元素放到第二个位置

al.add(1,"2");

//输出Java动态数组

for(int i=0;i<al.size();i++)
{

String
alEach=(String)al.get(i);

System.out.println(alEach);

}
}
}

输出如下:
a
b
c
a
2
c
PS:java的一维动态数组一般是使用集合的:ArrayList,HashMap等
泛型:
ArrayList<T> a = new ArrayList<T>();
T是你数组里 存的类型
比如String类型的 比如int的

Ⅵ java string类型的动态数组元素删除

没有提供RemoveAt(int index)函数,

你将RemoveAt(0)改成remove(0)应该就可以了

Ⅶ java中可以用动态数组吗

ArrayList<Long>timeBox=newArrayList<Long>();
longtime=System.currentTimeMillis();
timeBox.add(time);
创建一个ArrayList,在onKeyDown中获取时间,然后动态添加进去即可。

Ⅷ java 中 String 数组怎么动态赋值

String[] str = new String[5]; //创建一个长度为5的String(字符串)型的一维数组
str[0] = a; //赋值
str[1] = b;
str[2] = c;
str[3] = d;
str[4] = e;
//也可以创建并赋值
String[] str = {a,b,c,d,e};//二维数组
String[][] str = new String[2][2]; //创建一个2行2列的二维数组
str[0][0] = a0; //赋值
str[0][1] = a1;
str[1][0] = b0;
str[1][1] = b1;
//也可以创建并赋值
类型名[]/[][] 变量名 = new 类型名[]/[][];

Ⅸ Java动态数组代码是什么

Java动态数组是一种可以任意伸缩数组长度的对象,在Java中比较常用的是ArrayList<E>,其中<E>是表示泛形,即这个列表只能存放<E>的实例,如:ArrayList <String> list = new ArrayList<String>();那这个list只能存放String。

一般情况,数组定义后就不能改变大小。但很多场景又需要可以改变大小的数组。
他虽然是动态数据,在底层其实还是数组,只不过在数组快要存放满的时候,自动创建一个更大的数组。

Ⅹ 求教java中一个动态数组中的数据怎样转换成String

1.你可以把new ArrayList()改为new ArrayList<String>();
2.可以把ps.setString(1,al[i]);改为ps.setString(1,al[i].toString());
...简单的就这两种

阅读全文

与javastring动态数组相关的资料

热点内容
卸载联想app哪个好 浏览:719
php文字转图片 浏览:328
豆客后台怎么加密码 浏览:574
jpg转换pdf破解版 浏览:978
php基础书籍推荐 浏览:775
服务器与外网不通如何验证 浏览:351
电子版是不是就是文件夹 浏览:50
游戏属性文件加密 浏览:462
如何让安卓手机桌面图标下移 浏览:528
ubuntuphp5环境搭建 浏览:99
赌瘾解压视频 浏览:917
晋城移动dns服务器地址 浏览:294
php开源文库系统 浏览:134
android记事本源码 浏览:407
安卓11小游戏怎么玩法 浏览:190
gif有损压缩 浏览:937
windows下安装linux命令操作 浏览:844
米家app怎么设置进门亮灯 浏览:652
任我行服务器为什么会影响截图 浏览:296
安卓留言板怎么删除 浏览:18