30/09/2018, 23:40
Đảo ngược các phần tử trong arrayList trong java
Em đang viết chương trình đảo ngược lại thứ tự các phần tử trong ArrayList nhưng khi chạy chương trình lại ra như thế này
[khong, mot, hai, hai, mot, khong]
import java.util.ArrayList;
public class class1
{
public static void main(String[] args){
ArrayList<String> goc= new ArrayList<String>();
goc.add("khong");
goc.add("mot");
goc.add("hai");
goc.add("ba");
goc.add("bon");
goc.add("nam");
ArrayList<String> sao=goc;
for(int i=0;i<sao.size();i++)goc.set(sao.size()-1-i,sao.get(i));
System.out.println(goc);
}
}
Nhờ mọi người giải thích giúp em với ạ!
Bài liên quan
Ý bạn đây là phép copy từ goc sang sao hả. Gán trực tiếp thế này thì goc với sao là 1 thằng, thay đổi trên 1 trong 2 thằng cũng dẫn đến thay đổi cả 2 thằng
nên sửa thành
Trong Java có sẵn API cho việc này, bạn có thể tham khảo
Cám ơn bạn. Mình tự học trên mạng nên nhiều chỗ cũng rõ lắm
Bạn nên tìm hiểu về debug trong Java. Công cụ này rất hữu ích để bạn biết được code của mình đã chạy như thế nào. Tốt cho việc học và cả công việc sau này nữa.