package hashtable;
import java.io.File;
import java.io.FileNotFoundException;
import java.util.Scanner;
public class Main {
public static void main(String args[]) {
try {
Scanner s = new Scanner(new File("words.txt")); // dışardan kelime listesini hashtable ekleme
HashTable hashtable = new HashTable(256);
while(s.hasNextLine()) {
//System.out.println(s.nextLine());
hashtable.add(new Node(s.nextLine()));
}
System.out.println(hashtable.find("KodSözlük")); // hashtable'da veri arama işlemi
} catch (FileNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
class HashTable {
final int ALPH = 256;
Node table[];
private int SIZE;
public HashTable(int SIZE) {
table = new Node[SIZE];
this.SIZE=SIZE;
}
int hash(String str){
int h=0;
for(int i=0;i<str.length();i++){
h=((h*ALPH)+str.charAt(i))%SIZE;
}
return h;
}
void yazdir() {
for(int i=0;i<SIZE;i++) {
Node tmp = table[i];
while(tmp!=null) {
System.out.print(i+". "+tmp.icerik+" ");
tmp=tmp.next;
}
System.out.println("");
}
}
boolean delete(String str) {
if(find(str)) {
int h = hash(str);
Node tmp = table[h];
Node previous = table[h];
if(tmp.next == null){
table[h]=null;
}else{
while(tmp!=null) {
if(tmp.icerik.equals(str))
break;
previous=tmp;
tmp=tmp.next;
}
System.out.println(previous.icerik);
System.out.println(tmp.icerik+"\n");
if(table[h]==tmp)
table[h]=tmp.next;
else
previous.next=tmp.next;
}
// previous.ileri=tmp.ileri;
return true;
}
return false;
}
boolean find(String str) {
int h = hash(str);
Node tmp = table[h];
while(tmp!=null) {
if(tmp.icerik.equals(str)) {
return true;
}
tmp = tmp.next;
}
return false;
}
void add(Node yeni) {
// int h= yeni.icerik%N;
if(!find(yeni.icerik)){
int h = hash(yeni.icerik);
// System.out.print(h);
if(table[h] == null) {
table[h] = yeni;
}else {
Node tmp = table[h];
while(tmp.next!=null) {
tmp=tmp.next;
}
tmp.next=yeni;
}
}
}
}
class Node{
String icerik;
Node next;
Node(String icerik){
this.icerik=icerik;
}
}
Java, yazılım uygulamalarının geliştirilmesinde yaygın olarak kullanılan popüler bir programlama dilidir. Java uygulamalarını geliştirirken göz önünde bulunduru
SOLID , yazılım tasarımlarını daha anlaşılır, esnek, sağlam ve sürdürülebilir hale getirmeyi amaçlayan 5 tasarım ilkesinin kısaltmasıdır. Java'da kullanımı anlatacağım.