Trong Python, bạn được phép sử dụng chỉ mục mảng âm để đếm bắt đầu từ phía bên phải của mảng. Ví dụ, mảng [-1] là phần tử cuối cùng và mảng [-2] là phần tử cuối cùng thứ hai trong mảng. Làm thế nào bạn sẽ làm điều này trong Java?Làm thế nào để thực hiện các chỉ mục tiêu cực trong java?
5
A
Trả lời
19
Java không hỗ trợ chỉ số tiêu cực, để truy cập vào ô cuối cùng, bạn nên sử dụng
array[array.length-1] = lastElement;
3
index Java subscript bắt đầu với 0. Không chỉ số tiêu cực có thể được sử dụng. Nếu ở tất cả được sử dụng thì java sẽ ném Array Index ra khỏi giới hạn Ngoại lệ.
2
Để thực hiện một cái gì đó như thế này, bạn sẽ phải tạo ra một danh sách gấp đôi liên kết hình tròn ... Tôi không biên dịch và kiểm tra điều này, nhưng đây là ý tưởng chung ...
public class LinkedList {
Integer node;
LinkedList next;
LinkedList prev;
public LinkList(Integer node) {
this.node = node;
this.next = this;
this.prev = this;
}
public void insert(Integer node) {
if(this.node == null) {
this.node = node;
this.next = this;
this.prev = this;
}
else if(this.next == null) {
this.next = new LinkedList(node);
this.prev = node
this.next.prev = this;
this.next.next = this;
}
else {
this.next(node, this);
}
}
private void insert(Integer node, LinkedList head) {
if(this.next == null) {
this.next = new LinkedList(node);
this.next.prev = this;
this.next.next = head;
}
else {
this.next(node, head);
}
}
public Interger get(int index) {
int cursor = 0;
if(index == cursor) {
return this.node;
}
else if(index < cursor) {
return this.prev.get(index, cursor-1);
}
else {
return this.next.get(index, cursor+1);
}
}
private Interger get(int index, int cursor) {
if(index == cursor) {
return this.node;
}
else if(index < cursor) {
return this.prev.get(index, cursor-1);
}
else {
return this.next.get(index, cursor+1);
}
}
}
public static void main(String[] args) {
LinkedList list = new LinkedList(new Integer(1));
list.insert(new Integer(2));
list.insert(new Integer(3));
System.out.println(list.get(-1).toString());
}
Các vấn đề liên quan
- 1. Làm thế nào để thực hiện mẫu đại biểu (như trong mục tiêu-c) trong java
- 2. Viết một Maven Plugin/Mojo: làm thế nào để bạn thực hiện một mục tiêu buộc thực hiện các mục tiêu khác?
- 3. Java regex: lookahead tiêu cực
- 4. Thực hiện các mảng cực thưa thớt
- 5. Làm thế nào để bạn giải thích các mức tiêu cực trong Mathematica?
- 6. Biểu hiện chính xác tiêu cực lookahead
- 7. Java RegEx tiêu cực lookbehind
- 8. Làm thế nào để thực hiện một mục tiêu thả cho tiện ích trình duyệt SWT
- 9. Cách thực hiện tài liệu trong mục tiêu C?
- 10. Làm thế nào enums được thực hiện trong Java?
- 11. Làm thế nào để thực hiện hành động sau DialogFragment nút tích cực nhấp
- 12. Không thực hiện được mục tiêu com.jayway.maven.plugins.android.generation2
- 13. Cách thực hiện cuộc gọi lại trong mục tiêu-C
- 14. Làm thế nào để thực hiện các toán tử logic thông qua việc lập chỉ mục trong data.table tại R?
- 15. Làm thế nào để thực hiện Like-condition trong SparkSQL?
- 16. Làm thế nào để thực hiện mục tiêu CMake được thực hiện cho dù tập tin được chỉ định đã được thay đổi?
- 17. Làm thế nào để tiêu diệt các đối tượng java?
- 18. Làm thế nào để thực hiện các cử chỉ lắc trong ứng dụng Apple Watch?
- 19. Làm thế nào để làm cho vẻ ngoài tiêu cực của Python ít tham lam hơn?
- 20. Làm cách nào để thực hiện cuộc gọi điện thoại trong Mục tiêu C?
- 21. Làm thế nào để Thực hiện OnTouch Listener trong XML
- 22. Làm thế nào để thực hiện Chuyển đổi Hough?
- 23. Thực hiện Đồng hồ đếm ngược trong Mục tiêu-c?
- 24. Làm thế nào để thực hiện hook_theme trong drupal 7?
- 25. Làm thế nào để thực hiện một cơ chế khóa reentrant trong mục tiêu-c thông qua GCD?
- 26. Powershell: làm thế nào để thực hiện các công tắc tiêu chuẩn?
- 27. Làm thế nào để thêm các xét nghiệm valgrind để cmake của tôi "test" mục tiêu
- 28. Java, Làm cách nào để lấy chỉ mục/khóa hiện tại trong vòng lặp "cho mỗi"
- 29. Làm thế nào để thực hiện cử chỉ chụm trên iPhone?
- 30. Tại sao ArrayList # rangeKiểm tra không kiểm tra xem chỉ mục có tiêu cực không?
Bây giờ nó dễ hiểu hơn những gì đang được hỏi. Ai đó có thể mở lại câu hỏi này được không? –
Tất nhiên bạn có thể tạo đối tượng của riêng bạn. Nhưng nó sẽ có một phương thức như PythonArray.getElement (int elementIndex) – borjab