Java:
public void addResponse(String s1) {
if (responses.contains(s1)) {
responses.remove(s1);
responses.add(s1);
return;
}
if (responses.size() > lim - 1) {
responses.remove(0);
} else {
urg = new UniqueRandomGenerator(responses.size() + 1);
}
responses.add(s1);
}
public LimUniqueResponder clone() {
LimUniqueResponder clonedResponder = new LimUniqueResponder(this.lim);
clonedResponder.responses = new ArrayList<>(this.responses);
clonedResponder.urg = new UniqueRandomGenerator(clonedResponder.responses.size());
return clonedResponder;
}
vb.net
Code:
Public Sub AddResponse(s1 As String)
If responses.Contains(s1) Then
responses.Remove(s1)
responses.Add(s1)
Return
End If
If responses.Count > lim - 1 Then
responses.RemoveAt(0)
Else
urg = New UniqueRandomGenerator(responses.Count + 1)
End If
responses.Add(s1)
End Sub
Public Function Clone() As LimUniqueResponder
Dim clonedResponder As New LimUniqueResponder(Me.lim)
clonedResponder.responses = New List(Of String)(Me.responses)
clonedResponder.urg = New UniqueRandomGenerator(clonedResponder.responses.Count)
Return clonedResponder
End Function
C#:
public void AddResponse(string s1) {
if (responses.Contains(s1)) {
responses.Remove(s1);
responses.Add(s1);
return;
}
if (responses.Count > lim - 1) {
responses.RemoveAt(0);
} else {
urg = new UniqueRandomGenerator(responses.Count + 1);
}
responses.Add(s1);
}
public LimUniqueResponder Clone() {
var clonedResponder = new LimUniqueResponder(this.lim);
clonedResponder.responses = new List<string>(this.responses);
clonedResponder.urg = new UniqueRandomGenerator(clonedResponder.responses.Count);
return clonedResponder;
}
Swift:
func addResponse(_ s1: String) {
if let index = responses.firstIndex(of: s1) {
responses.remove(at: index)
responses.append(s1)
return
}
if responses.count > lim - 1 {
responses.remove(at: 0)
} else {
urg = UniqueRandomGenerator(responses.count + 1)
}
responses.append(s1)
}
func clone() -> LimUniqueResponder {
let clonedResponder = LimUniqueResponder(lim: self.lim)
clonedResponder.responses = self.responses
clonedResponder.urg = UniqueRandomGenerator(clonedResponder.responses.count)
return clonedResponder
}