Junior — Middle
How to properly organize data structures for efficient data lookup in a table?
sobes.tech AI
Answer from AI
For efficient data retrieval in a table, it is important to choose the right data structure that provides quick access and minimal search time. In Java, the following approaches are often used:
- Hash Tables (HashMap) — provide fast access by key with amortized time O(1). Suitable when searching by a unique key.
- Trees (e.g., TreeMap) — support ordered access and search in O(log n), useful if sorting or range searches are needed.
- Indexes — in databases, special structures (B-trees, hash indexes) are created to speed up searches.
Example of using HashMap for quick key-based search:
import java.util.HashMap;
class Record {
int id;
String data;
Record(int id, String data) {
this.id = id;
this.data = data;
}
}
public class Table {
private HashMap<Integer, Record> records = new HashMap<>();
public void addRecord(Record record) {
records.put(record.id, record);
}
public Record findById(int id) {
return records.get(id); // Search in O(1)
}
}
If the data is complex and search involves multiple fields, composite keys or specialized structures like Trie, R-trees, etc., can be used. It is important to choose the structure based on specific search requirements.