Java arraylist可以像数据库一样工作吗?

Java arraylist可以像数据库一样工作吗?,java,Java,我正在做一个从ArrayList中存储、更新、搜索和删除数据的程序。我的问题是无法从ArrayList检索数据。我是Java新手,请帮助我 我想显示我在下面提到的事情列表 public Subject(int id, String name, int marks){ subId = id; subName = name; subMarks = marks; } public void show(){ System.out.println("1.Insert" +

我正在做一个从ArrayList中存储、更新、搜索和删除数据的程序。我的问题是无法从ArrayList检索数据。我是Java新手,请帮助我

我想显示我在下面提到的事情列表

public Subject(int id, String name, int marks){
    subId = id;
    subName = name;
    subMarks = marks;
}

public void show(){
    System.out.println("1.Insert" + "\n" + "2.Search" + "\n" + "3.Update" + "\n" + "4.Delete" + "\n" + "5.Back");
    try{
        select = Integer.parseInt(br.readLine());
    }
    catch(Exception e){
        System.out.println(e);
    }
}
提前谢谢大家

我的实际程序是这样的。。。。因此,请告诉我应该如何在ArrayList上存储数据

package com.sms.data;

import com.sms.util.*;

import java.util.regex.*;
import java.io.*;
import java.util.*;

public class Subject extends Operation
{
int subId, subMarks;
String subName;
ArrayList <Subject> list = new ArrayList <Subject> ();

BufferedReader br = new BufferedReader(new InputStreamReader(System.in));

DuplicateSubjectFoundException duplicate = new DuplicateSubjectFoundException();

NoSubjectFoundException noName = new NoSubjectFoundException();

InvalidDataException invalid = new InvalidDataException();

InvalidName inName = new InvalidName();

int select, exit = 0;
public Matcher matcher;
Subject sub;


public Subject(){
}

public Subject(int id, String name, int marks){
subId = id;
subName = name;
subMarks = marks;
}

public void display(){
System.out.println("SubjectId" + "\t" + "Name" + "\t" + "Marks");
System.out.println(subId + "\t" + subName + "\t" + subMarks);
}

public void show(){
System.out.println("1.Insert" + "\n" + "2.Search" + "\n" + "3.Update" + "\n" + "4.Delete" + "\n" + "5.Back");
try{
select = Integer.parseInt(br.readLine());
}
catch(Exception e){
System.out.println(e);
}
}


public void displayList(ArrayList <Subject> store)  
{
int id = 0, subMarks = 0;
String name = " ";
while(exit != 3)
{
try
{
this.show();
switch(select)
{
case 1: 
        try{
            System.out.println("Enter Subject ID: ");
            subId = Integer.parseInt(br.readLine());
            for(int j=0; j < list.size();j++){
                System.out.println(list.get(j));
            }

            System.out.print("Subject Marks: ");
            String marks = br.readLine();
            if(marks.equals(" ")){
                throw invalid;
            }
            else{
                subMarks = Integer.parseInt(marks);
                for(int j=0; j < list.size();j++){
                    System.out.println(list.get(j));
                }
                if(subMarks > 100)
                    throw invalid;
            }   

            System.out.println("Enter subject Name: ");
            subName = br.readLine();
            Matcher matcher = Pattern.compile("[^a-zA-Z0-9]").matcher(subName);
            while(matcher.find())
            {
                for(int j=0; j < list.size();j++){
                    System.out.println(list.get(j));
                }
                throw inName;
            }

        }
        catch(NumberFormatException e){
            System.out.println("Invald ID.");
            continue;
        }           
        catch(InvalidDataException e){
            System.out.println(invalid.print());
            continue;
        }
        catch(Exception e){
            System.out.println(inName.print());
            continue;
        }
        add(subId, subName, subMarks, list);
        break;

case 2:  //for search

case 3: //for update

case 4: //for delete

case 5: 
        exit = 3;
        break;
default: 
            System.out.println("Enter your Choice.");
            break;
}
}
catch(Exception e){
System.out.println(e);
}
}
} 

public void add(int subId, String subName, int subMarks, ArrayList<Subject> list){
    Subject sub = new Subject();
    int i =0;
    while(i < list.size()){
        list.add(i, sub);
    }   
}


public void displayArrayList(ArrayList<Subject> list){      //for update

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

        Subject sub = list.get(i);
        sub.display();
    } 
}
}
我在您的代码中没有找到任何ArrayList,但是如果您想从ArrayList中提取数据,可以执行以下操作

ArrayList list=new ArrayList();
int[][] tmp;
for(Object tab : list){
     tmp = (int[][]) tab;
}

我甚至没有看到一个清单在那里。可能有助于提供实际的详细信息。您需要重写哈希代码和equals方法,以便从列表中正确获取用户定义的对象。ArrayList在哪里?你想把它添加到哪里?你想从哪里读呢?闻起来像是家庭作业。你能这样标记吗?ArrayList中没有任何内容。它甚至没有一个类型!当你不知道某事物是什么类型时,你打算如何检索它的特定信息?