java定义一个动态数组(java中如何创建动态数组)
本文目录
- java中如何创建动态数组
- Java里我想定义一个动态数组 键盘输入值 把这个输入的值付给这个动态数组怎么写啊
- java如何动态创建ArrayList并给其赋值
- 如何在Java里面创建一个动态的二维数组
- java里如何定义动态数组请各位高手指教!
- 如何用java语言创建不定长动态数组
- Java动态二维数组 怎么动态定义
- JAVA如何实现动态数组
- java如何定义和使用动态数组
java中如何创建动态数组
所谓的匿名数组,个人感觉都是被动创建的如:publicclassmain{实用例子:publicstaticvoidmain(stringargs){out1(newstring{"1","2"});//第一种匿名数组out2("1","2");//第二种}staticvoidout1(stringss){for(stringstr:ss){system.out.println(str);}}staticvoidout2(string...ss){for(stringstr:ss){system.out.println(str);}}}
Java里我想定义一个动态数组 键盘输入值 把这个输入的值付给这个动态数组怎么写啊
import java.util.Arrays;import java.util.Scanner;import java.util.Vector;public class Test { public static void main(String args) { // import java.util.Vector; Vector《Integer》 v = new Vector《Integer》(); // import java.util.Scanner; Scanner sc = new Scanner(System.in); String s = sc.nextLine(); while (!s.equals("")) { v.add(Integer.parseInt(s)); s=sc.nextLine(); } Integer; v.toArray(x); System.out.println(Arrays.toString(x)); }}
java如何动态创建ArrayList并给其赋值
1、ArrayList是动态数组,List是一个接口,不能实例化,需要实例化一个ArrayList;List list = new ArrayList();2、使用list .add(任何对象);就可以进行添加了。代码如下:bean类package com.whn.bean;public class ListBean { private String name; private String pwd; public void setName(String name) { this.name = name; } public String getName() { return name; } public void setPwd(String pwd) { this.pwd = pwd; } public String getPwd() { return pwd; }}测试类package com.whn.test;import com.whn.bean.ListBean;import java.util.ArrayList;import java.util.List;public class ListTest { //测试 public static void main(String args) { List《ListBean》 list = new ArrayList《ListBean》();//实例化一个arrayList //添加 for(int i=10;i《20;i++){ ListBean listBean = new ListBean(); listBean.setName("name"+i); listBean.setPwd("pwd"+i); list.add(listBean);//把listBean添加到arrayList中 } //把数据取出来 for(ListBean lb:list){ System.out.println(lb.getName()); System.out.println(lb.getPwd()); }}}
如何在Java里面创建一个动态的二维数组
方式一:public Object create(int m,int n){ return new Object;}方式二:System.arrayCopy();Arrays.copy();都可以实现,你可以百度一下用法,java还可以实现“奇异”数组,数组中的数组长度可以不一致。
java里如何定义动态数组请各位高手指教!
你可以采用Vectorimport java.until.Vector;例如:Vector vet==new Vector();String str="test1";double t1=0.124;vet.add(str);vet.add(String.valueOf(t1));可以用 vet.size()获取其大小。通过vet.get(i);获取第i个元素(i从0开始),类型为Object,转换一下就可以了。具体可以查看jdk api文档。
如何用java语言创建不定长动态数组
public class intArray { private int theSize=0;; private int a_int={}; public intArray(int a){ this.a_int=a; this.theSize=a.length; } public intArray(){ this.theSize=0; } public int getSize(){ return this.theSize; } public int getAt(int nIndex){ return this.a_int; } public void SetAt(int nIndex , int newElement){ this.a_int =newElement; } public void add(int nIndex){ int old = this.a_int; this.a_int= new int; for(int i =0;i《old.length;i++){ a_int; } if(this.theSize》0){ a_int=nIndex; }else{ a_int=nIndex; } this.theSize++; } public static void main(String args){ intArray array = new intArray(); array.add(1); array.add(2); array.add(3); array.add(4); array.add(5); for(int i = 0;i《array.getSize();i++){ System.out.println(array.getAt(i)); } } } 再给个任意类型的public class myArray 《AnyType》{ private int theSize=0; private AnyType theItem=null; public myArray(AnyType a){ this.theItem=a; this.theSize=a.length; } public myArray(){ } public int getSize(){ return this.theSize; } public AnyType get(int nIndex){ return this.theItem; } public void Set(int nIndex , AnyType newElement){ this.theItem =newElement; } public void add(AnyType newVal){ AnyType old=this.theItem; this.theItem= (AnyType; if(theSize!=0){ for(int i =0;i《old.length;i++){ this.theItem; } } this.theItem=newVal; this.theSize++; } public static void main(String args){ myArray《String》 array = new myArray《String》(); array.add("1"); array.add("2"); array.add("3"); array.add("a"); array.add("b"); array.add("c"); for(int i =0;i《array.theSize;i++){ System.out.println(array.get(i)); } }}
Java动态二维数组 怎么动态定义
有两种实现方法:
可以用List数组来实现
可以用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数组来实现
public static void main(String args) {
//list 作为动态二维数组
List《List《String》》 list = new ArrayList();
List《String》 a1 = new ArrayList《String》();
List《String》 a2 = new ArrayList《String》();
List《String》 a3 = new ArrayList《String》();
list.add(a1);
list.add(a2);
list.add(a3);
a1.add("string1 in a1");
a1.add("string2 in a1");
a2.add("string1 in a2");
a3.add("string1 in a3");
a3.add("string2 in a3");
for (int i = 0; i 《 list.size(); ++i) {
for (int j = 0; j 《 list.get(i).size(); ++j)
System.out.println(list.get(i).get(j));
}
}
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的处理会中止并抛出ConcurrentModificationException异常,这是集合处理中的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接口来添加对象。***隐藏网址*** 希望能帮到您,O(∩_∩)O谢谢!
java如何定义和使用动态数组
Vector《类型》label=newVector《类型》();//定义一个动态存储的变量label.add("Hello");//例如是字符串