ArrayList AA = new ArrayList();
for(int i=1;i<A1.size();i++){
AA.add(A1.get(i))
}
for(int i=1;i<A2.size();i++){
for(int j=1;j<AA.size();j++){
if(A2.get(i).equals(AA.get(j)){
break;
}
if(Integer.parseInt(A2.get(i))<Integer.parseInt(AA.get(j))){
AA.add(j,A2.get(i));
}
}
}
for(int i=1;i<A3.size();i++){
for(int j=1;j<AA.size();j++){
if(A3.get(i).equals(AA.get(j)){
break;
}
if(Integer.parseInt(A3.get(i))<Integer.parseInt(AA.get(j))){
AA.add(j,A3.get(i));
}
}
}A1,A2,A3我都当作ArrayList处理,而且A1,A2,A3假设存的都是数字,主要使用ArrayList中的add方法:
void add(int index, Object element)
Inserts the specified element at the specified position in this list.
for(int i=1;i<A1.size();i++){
AA.add(A1.get(i))
}
for(int i=1;i<A2.size();i++){
for(int j=1;j<AA.size();j++){
if(A2.get(i).equals(AA.get(j)){
break;
}
if(Integer.parseInt(A2.get(i))<Integer.parseInt(AA.get(j))){
AA.add(j,A2.get(i));
}
}
}
for(int i=1;i<A3.size();i++){
for(int j=1;j<AA.size();j++){
if(A3.get(i).equals(AA.get(j)){
break;
}
if(Integer.parseInt(A3.get(i))<Integer.parseInt(AA.get(j))){
AA.add(j,A3.get(i));
}
}
}A1,A2,A3我都当作ArrayList处理,而且A1,A2,A3假设存的都是数字,主要使用ArrayList中的add方法:
void add(int index, Object element)
Inserts the specified element at the specified position in this list.
不过前面我写的有问题,匆忙了
不过代码重用度可能差了一点
欢迎讨论
import java.lang.*;public class TestArrayList
{ public TestArrayList()
{ } public void printTest()
{
int []A11={1,2,3,4};
int []A22={2,3,4,5};
int []A33={6,4,3,8};
ArrayList A1=arrayToList(A11);
ArrayList A2=arrayToList(A22);
ArrayList A3=arrayToList(A33);
ArrayList AA = new ArrayList();
for(int i=1;i<A1.size();i++)
{
AA.add(A1.get(i));
}
for(int i=1;i<A2.size();i++){
for(int j=1;j<AA.size();j++){
if(A2.get(i).equals(AA.get(j)))
{
break;
}
if(A2.get(i)<AA.get(j))
{
AA.add(j,A2.get(i));
}
}
}
for(int i=1;i<A3.size();i++){
for(int j=1;j<AA.size();j++){
if(A3.get(i).equals(AA.get(j)))
{
break;
}
if(A3.get(i)<AA.get(j)){
AA.add(j,A3.get(i));
}
}
}
}
public ArrayList arrayToList(Object[] array)
{
ArrayList list=new ArrayList(array.length);
for(int i=0;i<array.length ;i++ )
{
list.add(array[i]);
}
return list;
} public static void main(String[] args)
{
TestArrayList testArrayList1 = new TestArrayList();
}
}这样写为什么编译无法通过?"TestArrayList.java": Error #: 300 : method arrayToList(int[]) not found in class plan.study.TestArrayList at line 27, column 21
"TestArrayList.java": Error #: 375 : operator < cannot be applied to (java.lang.Object, java.lang.Object) at line 53, column 24
for(int j=0;j<AA.size();j++){ if((A2.get(i)).equals(AA.get(j)){
break;
}
/*如果比AA中的值小就添加,或者比AA中的值都大,此时也应该添加,此时j的值就是AA的size*/
if(Integer.parseInt((String)A2.get(i))<Integer.parseInt((String)AA.get(j))||j==AA.size()){
AA.add(j,A2.get(i));
}
}
}
for(int j=0;j<AA.size();j++){ if((A2.get(i)).equals(AA.get(j)){
break;
}
/*如果比AA中的值小就添加,或者比AA中的值都大,此时也应该添加,此时j的值就是AA的size*/
if(Integer.parseInt((String)A2.get(i))<Integer.parseInt((String)AA.get(j))){
AA.add(j,A2.get(i));
}
if(j==AA.size()){
AA.add(A2.get(i));
}
}
}
public static void main(String[] args) {
int aa[][] = {{1,5,6,7},{2,3,5},{1,6,7,8}};
int[] b = merge(aa);
for(int i = 0; i < b.length; i++)
System.out.println(b[i]);
}
static int[] merge(int[][] aa) {
SortedSet s = new TreeSet();
for(int i = 0 ;i < aa.length; i ++)
addToSortedSet(s,aa[i]);
int[] ra = new int[s.size()];
int i = 0;
for(Iterator it = s.iterator(); it.hasNext();) {
ra[i ++] = ((Integer)it.next()).intValue();
}
return ra;
}
static private void addToSortedSet(SortedSet s,int[] a) {
for(int i = 0; i < a.length; i++)
s.add(new Integer(a[i]));
}
}
add(Object o) Adds the specified element to this set if it is not already present (optional operation).